MySQL 5.5 在多核 CPU 支持、TPS 性能及 InnoDB 存儲引擎上均有顯著提升。對於仍在運行 MySQL 5.1 的生產環境,升級至 5.5 能有效提升數據庫吞吐能力。本文基於實際生產環境操作,記錄完整升級流程。
| 項目 | 路徑 |
|---|---|
| 安裝目錄 | /usr/local/mysql |
| 配置文件 | /etc/my.cnf |
| 數據目錄 | /data/mysql |
| 啟動腳本 | /etc/init.d/mysql |
mysqldump -uroot -p --all-databases > /root/backup/mysql_dbk_$(date +%Y%m%d).sql
tar czvf /root/backup/mysql_5.1_bin_$(date +%Y%m%d).tar.gz /usr/local/mysql
tar czvf /root/backup/mysql_5.1_data_$(date +%Y%m%d).tar.gz /data/mysql
cp /etc/my.cnf /root/backup/my.cnf.bak
/etc/init.d/mysql stop
rm -rf /usr/local/mysql
參考《Linux 下編譯安裝 MySQL 5.5 步驟》,關鍵點:安裝目錄、數據目錄、配置文件路徑均保持與 5.1 一致,確保升級後無需修改應用連接配置。
cp support-files/my-huge.cnf /etc/my.cnf
sed -i '/skip-external-locking/a\datadir = /data/mysql' /etc/my.cnf
/etc/init.d/mysql start
/usr/local/mysql/bin/mysql_upgrade -uroot -p
Looking for 'mysql' as: /usr/local/mysql/bin/mysql
Running 'mysqlcheck' with connection arguments: '--port=3306' '--socket=/tmp/mysqld.sock'
mydb.t1 OK
mysql.user OK
...
Running 'mysql_fix_privilege_tables'...
OK
回滾方案:若升級失敗,停止 5.5 服務,恢復物理備份文件至原目錄,啟動 5.1 服務即可。
MySQL 版本升級本質上是「重新安裝新版本 + 保留原數據目錄 + 執行 mysql_upgrade」。數據備份是升級的生命線,務必遵循「雙備份(邏輯+物理)、驗證可恢復、再執行升級」原則。