本文為維護筆記精華整合版,聚焦架構規劃、安裝參數、多實例啟動停止腳本、rc.local 部署、硬體故障快速恢復五大核心主題。
硬碟1 (系統/程式) 硬碟2 (資料/應用)
/
├── /usr <-- 作業系統
├── /home/mysql <-- MySQL 應用程式 (指向最新版本符號連結)
/
└── /data/app_1/ <-- 應用1 資料與腳本
├── /data/app_2/ <-- 應用2
└── /data/app_3/ <-- 應用3
核心原則:**程式碼與資料分離**,利於升級、備份、遷移、災難恢復。
--with-charset:僅影響排序,增加遷移麻煩。InnoDB(早期版本):除非需交易/外鍵,MyISAM 效能優勢巨大。./configure --prefix=/home/mysql make make install
cp -r mysql/var/mysql /data/app_1/
#!/bin/sh rundir=`dirname "$0"` echo "$rundir" /home/mysql/bin/safe_mysqld \ --user=mysql \ --pid-file="$rundir"/mysql.pid \ --datadir="$rundir"/var \ "$@" \ -O max_connections=500 \ -O wait_timeout=600 \ -O key_buffer=32M \ --port=3402 \ --socket="$rundir"/mysql.sock &
/data/app_1/start_mysql.sh /data/app_2/start_mysql.sh /data/app_3/start_mysql.sh
#!/bin/sh rundir=`dirname "$0"` echo "$rundir" /home/mysql/bin/mysqladmin -u mysql -S"$rundir"/mysql.sock shutdown
--port 即可啟動新實例,各實例資料/腳本獨立打包。/data/app_1/
├── start_mysql.sh
├── stop_mysql.sh
├── mysql.pid
├── mysql.sock
└── var/
├── mysql/
├── app_1_db_1/
└── app_1_db_2/
「分離、腳本化、隔離、可攜」是穩健 MySQL 運維的四字真言。此架構經生產環境驗證,支撐高併發、易擴展、快恢復。