生產環境 MySQL 5.6.14 經漏洞掃描發現多個高危 CVE(影響 ≤5.6.17 版本),本文記錄通過 RPM 包就地升級至 5.6.25 的完整操作流程與坑點處理。
MySQL-5.6.25-1.el6.x86_64.rpm-bundle.tar(含 server、client、libs、devel 等子包)mysqldump -u root -p --all-databases --single-transaction --master-data=2 > /backup/full_$(date +%F).sql
cp /etc/my.cnf /etc/my.cnf.bakservice mysql stoptar -xvf MySQL-5.6.25-1.el6.x86_64.rpm-bundle.tar
rpm -qa | grep -i mysql
# 輸出示例:
# mysql-community-server-5.6.14-3.el6.x86_64
# mysql-community-client-5.6.14-3.el6.x86_64
# mysql-community-libs-5.6.14-3.el6.x86_64
# mysql-community-common-5.6.14-3.el6.x86_64
# mysql-community-devel-5.6.14-3.el6.x86_64
# mysql-community-libs-compat-5.6.14-3.el6.x86_64
# perl-DBD-MySQL-4.013-3.el6.x86_64
策略:僅升級 server 與 client,保留 libs/common/devel 避免依賴地獄。
rpm -e mysql-community-server-5.6.14-3.el6.x86_64
rpm -e mysql-community-client-5.6.14-3.el6.x86_64
關鍵:必須先協載,否則直接安裝新版會報文件衝突:
file /usr/share/mysql/english/errmsg.sys from install of MySQL-server-5.6.25 conflicts with file from package mysql-community-common-5.6.14
rpm -ivh MySQL-server-5.6.25-1.el6.x86_64.rpm
rpm -ivh MySQL-client-5.6.25-1.el6.x86_64.rpm
安裝輸出關鍵信息:
A RANDOM PASSWORD HAS BEEN SET FOR THE MySQL root USER !
You will find that password in '/root/.mysql_secret'.
讀取隨機密碼:
cat /root/.mysql_secret
# The random password set for the root user at ... : sFpJCf6WLhyYKc35
cp /etc/my.cnf.bak /etc/my.cnfservice mysql startmysql -h localhost -u root -p
# 輸入 /root/.mysql_secret 中的隨機密碼
Welcome to the MySQL monitor... Server version: 5.6.25 MySQL Community Server (GPL)
現象:客戶端報錯 Can't connect to local MySQL server through socket '/data1/mysql/mysql.sock'
原因:/etc/my.cnf 中 [mysqld] 區段缺少 socket 參數,僅 [client] 區段配置。
修復:編輯 /etc/my.cnf 在 [mysqld] 添加:
[mysqld]
socket = /data1/mysql/mysql.sock # 與 [client] 區段保持一致
# 其他原有參數保持不變...
重啟服務:service mysql restart
mysql -h zlyh08 -u root -p
# 輸入升級前業務密碼(非隨機密碼)
show databases;
# 正常顯示所有業務庫,升級成功
SELECT VERSION(); 確認 5.6.25SHOW VARIABLES LIKE 'version_compile_os'; 確認平台一致mysql_upgrade -u root -p 升級系統表(可選,5.6 版本間通常無需)/root/.mysql_secret 易被忽略,務必查閱[mysqld] 與 [client] 雙向配置此升級路徑修復了 CVE-2015-4737、CVE-2015-4744 等高危漏洞,滿足合規掃描要求。