[mysql]

參考網址:https://benjr.tw/103189

遠端機器是Mariadb,欲登入mysql 8.0時的錯誤訊息Plugin sha256_password could not be loaded: /usr/lib/arm-linux-gnueabihf/mariadb19/plugin/sha256_password.so: cannot open shared object file: No such file or directory

Authentication Plugin – SHA-256

目前 MySQL 5.6 與 MySQL 8.0 使用 sha256_password 認證方式,但是 MariaDB 並不支援

所以目前無解

發表於 Linux系統, 程式設計 | 發表迴響

[mysql]解決 MySQL Authentication plugin ‘caching_sha2_password’ cannot be loaded 錯誤

參考網址:LINUX 技術手札

這個是 MySQL 8 在遠端登入時可能出現的錯誤信息:

ERROR 2059 (HY000): Authentication plugin ‘caching_sha2_password’ cannot be loaded

MySQL 8 預設的登入認證方式是 caching_sha2_password, 如果登入的電腦是安裝 MySQL 5.7 Client, 則是使用 mysql_native_password 登入認證, 產生兼容性問題, 解決方法有以下兩個.

解決方法 1:
把 MySQL 8 設定成繼續使用舊有的 mysql_native_password 登入, 開啟 /etc/my.cnf, 在 [mysqld] 段落設定認證方式:

開啟 /etc/my.cnf

  • # vi /etc/my.cnf

/etc/my.cnf

  • [mysqld]

     

    default_authentication_plugin=mysql_native_password

然後重新啟動 MySQL:

Restart MySQL

  • # systemctl restart mysql

解決方法 2:

如果不想回到舊有的認證方法, 可以修改現有帳號, 或新增一個新帳號, 指定登入地址及使用 mysql_native_password, 例如客戶端的 IP 是 192.168.1.111, 在本機登入 MySQL 後, 輸入以下 MySQL 指令:

1

ALTER USER 'db-user'@'192.168.1.111' IDENTIFIED WITH mysql_native_password BY 'db-password';

發表於 Linux系統 | 發表迴響

[mysql]升級MySQL 8.0的詭異故障,utf8mb4_0900_ai_ci是什麼?

參考網址:https://kknews.cc/zh-tw/code/63ya49m.html

中間的0900,它對應的是Unicode 9.0的規範

所以,utf8mb4_0900_ai_ci到底是個什麼東西呢?其實,它是個collation。

說起「字符集」,許多人想當然認為,給每個字符分配了一個編碼,並且能存儲、能傳輸,這就夠了。其實這當然不夠,我們不但需要給每個字符分配編碼,讓它們能存儲、能傳輸,還需要定義一套關係來組織它們,找到它們之間的聯繫。這套關係的定義,就是collation。

MySQL 8.0之後,默認collation不再像之前版本一樣是是utf8mb4_general_ci,而是統一更新成了utf8mb4_0900_ai_ci。

既然如此,解決辦法也很簡單,用alter table table_name collate utf8mb4_0900_ai_ci顯式統一所有表的collation,問題就解決了。

我們可以多想想,把character set和collation分開,到底有什麼好處?其實好處很多。如果把字符看作個人,character set就相當於驗明正身,給每個字符發張身份證,而collation相當於告訴大家,排隊的時候誰在前誰在後。collation有多套,就相當於可以靈活按身高、體重、年齡、出身地等等因素來排序,卻完全不會受到身份證號的干擾。

sed -e 's/要取代的文字/取代文字/' -i file

utf8mb4_0900_ai_ci替换为utf8_general_ci
sed -e 's/utf8mb4_0900_ai_ci/utf8_general_ci/' -i file

utf8mb4替换为utf8
sed -e 's/utf8mb4/utf8/' -i file
中間的0900,它對應的是Unicode 9.0的規範

 

原文網址:https://kknews.cc/code/63ya49m.html

中間的0900,它對應的是Unicode 9.0的規範

 

原文網址:https://kknews.cc/code/63ya49m.html

中間的0900,它對應的是Unicode 9.0的規範

 

原文網址:https://kknews.cc/code/63ya49m.html

發表於 程式設計 | 發表迴響

[ubuntu]啟用 ubuntu 20.04 /etc/rc.local

參考網址:https://helloworld.pixnet.net/blog/post/47874794-%E5%95%9F%E7%94%A8-ubuntu-20.04–etc-rc.local

ubuntu 20.04 預設重開機時無法啟用 /etc/rc.local
如果要重開機後執行的話,修改方式如下

1. 在檔案的最末端加入以下三行,存檔離開
sudo vi /lib/systemd/system/rc-local.service
[Install] 
WantedBy=multi-user.target
Alias=rc-local.service

2. 建立 rc.local
sudo vi /etc/rc.local
#!/bin/sh -e

echo `date` >> /tmp/reboot.log

exit 0

3. 加入可執行權限
sudo chmod u+x /etc/rc.local

4. 設定開機啟動,並手動啟用測試
sudo systemctl enable rc-local
sudo systemctl start rc-local


5. 檢視是否已啟用
sudo systemctl status rc-local
● rc-local.service – /etc/rc.local Compatibility
     Loaded: loaded (/lib/systemd/system/rc-local.service; enabled; vendor preset: enabled)
    Drop-In: /usr/lib/systemd/system/rc-local.service.d
             └─debian.conf
     Active: active (exited) since Fri 2021-09-17 01:53:56 UTC; 3s ago
       Docs: man:systemd-rc-local-generator(8)
    Process: 989234 ExecStart=/etc/rc.local start (code=exited, status=0/SUCCESS)

Sep 17 01:53:56 example systemd[1]: Starting /etc/rc.local Compatibility…
Sep 17 01:53:56 example systemd[1]: Started /etc/rc.local Compatibility.

6. 建立連結
sudo ln -s /lib/systemd/system/rc-local.service /etc/systemd/system/rc-local.service

7. 重開機
sudo reboot

發表於 Linux系統 | 發表迴響

[smarty]smarty裡直接樣版宣告變數方式

參考網址:https://sites.google.com/site/wanyutang/smarty/smartylizhijieyangbanxuangaobianshufangshi

{{assign var=xx value=0}}

or

{{assign var=xx value=$xx+3}}

 

在樣板中,Smarty 也可以直接拿PHP的函數來用,我們稱之為「變數修飾器」,例如:
變數後面要加上 |
| 後面加上函數名稱,函數需要的參數用 : 格開

例:得到檔案名稱

{{$SCRIPT_NAME|basename}}

{{$ulist.gov_allname|strlen}} 得到全銜的長度

 

發表於 程式設計 | 發表迴響

[mysql]留個紀錄好辦事 – Mysql Log (日誌紀錄)

參考網址:https://ithelp.ithome.com.tw/m/articles/10263180
 

查詢日誌- general log
注意點: 因為執行的所有行為操作都會紀錄到日誌中,log累積量會佔用很大的disk空間,請求量一多會產生不小的系統開銷影響效能! 所以在環境上通常不會啟用此日誌。

相關配置: my.cnf設定檔(/etc/mysql/my.cnf)

[mysqld]

#general log是否開啟(default:0禁用 / 1啟用)
general_log = 1
#查詢日誌路徑&檔名
general_log_file = /mnt/mysql_data/mysql/general.log
#指定日誌輸出目的地(default:FILE=記錄到general.log / TABLE=紀錄到mysql.general_log表)
log-output=TABLE

 

慢查詢日誌- slow log
注意點: 在開發的時候寫的SQL指令就算有測過執行時間,但如果遇到資料量不足的問題,雖然看起來沒問題但上線後資料量一大所造成的影響,執行秒數差異會越來越明顯。可能是表結構索引關係設計上又或者是SQL語法本身問題,透過slowlog能找出這些語法發現問題並做優化。
 

相關配置: my.cnf設定檔(/etc/mysql/my.cnf)

[mysqld]

#slow log是否開啟(1啟用/0禁用)
slow-query-log = 1
#慢查詢日誌路徑&檔名
slow_query_log_file=/mnt/mysql_data/mysql/slow.log
#執行超過x秒就紀錄 (EX: 1s)
long_query_time = 1

二进制日志

记录了所有对数据库执行更改的操作。不包括Select 和show等操作命令,想要查看只能通过查询日志。

 

發表於 程式設計 | 發表迴響

[flag]旗標書附程式下載

參考網址:https://www.flag.com.tw/VIP/Bonus

https://www.flag.com.tw/books/product/F2034
Python ✕ Excel 高效率打造辦公室作業+數據分析自動化

Ch07 Excel + Word 辨公室自動化與輸出 PDF

發表於 軟體使用 | 發表迴響

[python]用Python批量生成word版邀請函

參考網址:https://www.getit01.com/p20190616061067027/

發表於 程式設計, 軟體使用 | 發表迴響

[photo]XnView

參考網址:https://www.xnview.com/en/xnview/#downloads

看line下載的圖片常會出現 windows相片檢視器無法開啟/無法顯示的錯誤
索性把它換掉

發表於 Windows系統, 軟體使用 | 發表迴響

[sport]產生一些色碼當背景用

//文字為黑色,避免全黑,全白,背景儘量淡一些
//黑色 #000000    白色#ffffff

//ca color array
//$ca=array("22","44","66","88","aa","cc","ee"); 
//$ca=array("11","22","33","44","55","66","77","88","99","aa");
$ca=array("66","77","88","99","aa","bb","cc","dd","ee","ff");
//cn   color number-1
$cn=count($ca)-1;

for($i=0;$i<50;$i++)  {
    $c="#";
    for($j=0;$j<3;$j++)  {
        $c .= $ca[rand(0,$cn)];
    }

    $bgcolor_arr[$i]=$c;
    echo  "<span style='background-color:{$c}'>$c</span> ";
}
echo "<br><br>";
foreach ($bgcolor_arr as $k => $v) {
	echo '"'.$v.'",';
}
echo "<br><br>";

 

發表於 程式設計 | 發表迴響