MySQL 4.1 引入事務處理與存儲過程兩大里程碑功能。升級採用直接覆蓋安裝檔案方式,簡單實用,但需特別留意以下關鍵點:
mysqldump 導出 SQL 腳本備份。user 表新增 max_questions、max_updates、max_connections 欄位,可針對不同用戶設定資源配額。備份/恢復專用帳號建議將前兩者設大(如 3,000,000),具體值視實際負載調整。# /www/mysql/bin/mysqladmin shutdown
# cp -R /www/mysql/ /www/backup/
# mysqldump mvnforum > /www/backup/mvnforum.sql
# mysqldump demo > /www/backup/demo.sql
# rm -R /www/mysql
# groupadd -g 201 mysql
# useradd -u 1001 -g mysql -d /www/mysql -m -s /bin/tcsh -c "MySQL Administrator" mysql
# passwd mysql # 設定密碼
# tar -zxvf mysql-standard-4.1.4-gamma-pc-linux-i686.tar.gz
# cp -r mysql-standard-4.1.4-gamma-pc-linux-i686 /usr/local/mysql
# chown -R mysql.mysql /usr/local/mysql
# /usr/local/mysql/bin/mysqld_safe &
# echo "/usr/local/mysql/bin/mysqld_safe &" >> /etc/rc.local
# echo "PATH=\$PATH:/usr/local/mysql/bin" >> /etc/profile
# mysqladmin -u root password 'new_password'
# mysql -u root -p
mysql> GRANT USAGE ON *.* TO root@'172.16.98.2' IDENTIFIED BY '';
mysql> UPDATE user SET Select_priv='Y', Insert_priv='Y', ... Super_priv='Y' WHERE Host='172.16.98.2' AND User='root';
mysql> UPDATE user SET max_questions=30000, max_updates=30000 WHERE User='root';
mysql> GRANT USAGE ON *.* TO 'mysql'@'localhost' IDENTIFIED BY '';
mysql> UPDATE user SET Select_priv='Y', ..., Repl_client_priv='Y' WHERE Host='localhost' AND User='mysql';
mysql> UPDATE user SET max_questions=3000000, max_updates=3000000 WHERE User='mysql';
mysql> FLUSH PRIVILEGES;
mysql> CREATE DATABASE mvnforum;
mysql> CREATE DATABASE demo;
# mysql -u mysql -p mvnforum < /www/backup/mvnforum.sql
# mysql -u mysql -p demo < /www/backup/demo.sql
關鍵提醒:授權表變更後必須執行 FLUSH PRIVILEGES 或 mysqladmin reload 生效;生產環境建議先在測試機驗證完整流程。