升級 MySQL(如 5.0 → 5.1/5.5)時,rpm 或 yum 報錯:
file /usr/share/mysql/charsets/Index.xml from install of mysql-5.1.x conflicts with file from package mysql-libs-5.0.95
核心原因:**舊版 mysql-libs 共享庫文件與新版 MySQL 文件衝突**,且舊包被其他包依賴(如 postfix、php-mysql),直接 rpm -e 會級聯刪除大量包。
# 方法 A:rpm 強制卸載(慎用,會破壞依賴關係)
rpm -e --nodeps mysql-libs-5.0.95-5.el5_9.x86_64
# 方法 B:yum 移除(自動處理依賴,會一併刪除依賴它的包,需記錄以便重裝)
yum -y remove mysql-libs-5.0.95*
# 示例:安裝 MySQL 5.1(官方 RPM 或自編譯)
rpm -ivh mysql-5.1.58-jason.1.i386.rpm
rpm -ivh mysql-server-5.1.58-jason.1.i386.rpm
rpm -ivh mysql-devel-5.1.58-jason.1.i386.rpm
# 或使用官方 Yum Repo (推薦)
yum install mysql-community-server-5.1.x
service mysqld start
mysql_upgrade -uroot -p'new_root_password'
# 輸出 "OK" 表示成功
yum install MariaDB-server,兼容性更好、性能更優、開源社區活躍。若使用 Webmin 管理 MySQL,升級後可能報錯「Cannot create database/user」。兩種修復:
mysql.servers 表插入缺失記錄。mysql_upgrade -uroot -p'password' 徹底修復系統表結構與權限。rpm -qa | grep mysql 記錄所有包版本。/etc/my.cnf、/var/lib/mysql(或快照)。FLUSH TABLES WITH READ LOCK 導出邏輯備份(mysqldump --all-databases)。遵循「備份 → 移除舊 libs → 安裝新版 → mysql_upgrade → 驗證 → 恢復業務」標準化流程,MySQL 版本升級將不再是噩夢。