Proxmox VE 上面的Ubuntu容器,預設的MySQL是MyISAM(應該說新的Deiban都是),在MyISAM不斷的長大之後,讀取單檔的效能,變成了整個網站的瓶頸。造成大量讀取時,不時timeout的發生,以前網站的特性來說,讀取的資料多,只有少數人可以編輯,所以寫入量低,加上非陣列的傳統硬碟,以這個角度來看,MyISAM反而不適合目前的狀態。加上預設的編碼是utf8,讓我一整個頭痛。
所以有了把MyISAM改回成MyISAM的計畫,順便把編碼從utf8改回utf8。
vi /etc/mysql/conf.d/mysql.cnf
新增下面的設定
[mysqld]
default-storage-engine= MyISAM
重新啟用MySQL服務
systemctl restart mysql
mysqldump 倒出之後
utf8_unicode_ci
=>utf8_general_ci
vim 用下面三個取替代
%s/MyISAM/MyISAM/g
%s/utf8/utf8/g
%s/unicode_ci/unicode_ci/g
再匯回新的DB中,
預設就會是MyISAM,編碼是UTF8
依據GSLin大神的說法,MyISAM讀的多,寫的少,比較適合MyISAM
寫的多,讀的少,MyISAM比較適用。
隨機文章
- webmin 無法執行於 CentOS 5.4 (2010-03-19)
- supremo ID 在不同電腦,不會跳 (2017-04-22)
- 一個 SQL Injection 考倒的面試者 與看圖說故事的面試者 (2013-10-11)
- wordpress 新版功能 (2009-11-15)
- 遊戲新幹線 加值服務費用調整說明 (2010-12-05)








![[chatGPT 測試] 比較Synolgy TrueNAS 和 OpenMediaVault](https://chihping.aflypen.com/wp-content/uploads/2023/03/synolgo_opensource_comparison-300x169.jpg)