首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

Linux 下 MySQL 5.1 升級 5.7 完整遷移指南與 CentOS 6 升 5.5 實戰記錄

     編輯:MySQL 資料庫相關知識

通用 RPM 升級流程(以 5.1 → 5.7 為例)

1. 確認作業系統版本

cat /etc/issue
# 或
cat /etc/redhat-release

2. 官網下載對應 RPM 包

MySQL 官網 → Downloads → Community Server → Red Hat Enterprise Linux / Oracle Linux → x86_64 → RPM Bundle

3. 移除舊版本


rpm -qa | grep mysql
rpm -e --nodeps mysql-community-client mysql-community-server mysql-community-common mysql-community-libs ...
# 依賴關係複雜時可用 yum remove mysql*

4. 安裝新版本(按順序)


rpm -ivh mysql-community-common-5.7.x.rpm
rpm -ivh mysql-community-libs-5.7.x.rpm
rpm -ivh mysql-community-client-5.7.x.rpm
rpm -ivh mysql-community-server-5.7.x.rpm

5. 初始化與啟動


# MySQL 5.7+ 首次安裝需初始化 data 目錄
mysqld --initialize-insecure --user=mysql
# 或 --initialize 生成隨機 root 密碼(在 .mysql_secret 或 error log 中)

systemctl start mysqld
systemctl enable mysqld

6. 修改 root 密碼(若用 initialize-insecure)


mysql -uroot -p  # 直接回車
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPass123!';
FLUSH PRIVILEGES;

7. 複製預設配置並調優


cp /usr/share/mysql/my-default.cnf /etc/my.cnf
# 編輯 /etc/my.cnf [mysqld] 區塊
# innodb_buffer_pool_size = 1G  # 物理記憶體 60-70%
# skip_name_resolve = 1
# max_connections = 1000
systemctl restart mysqld

CentOS 6 環境:MySQL 5.1 → 5.5 實戰記錄(解決 WordPress utf8mb4 錯誤)

背景

LNMP (MySQL 5.5) → LLSMP (MySQL 5.1) 遷移,導入 SQL 報錯:Unknown collation: 'utf8mb4_unicode_ci'。MySQL 5.1 不支援 utf8mb4,必須升級。

步驟

  1. 備份: mysqldump --all-databases > all.sql、打包網站檔案
  2. 停服務、移舊版:
    service mysqld stop
    yum remove mysql mysql-*
    yum list installed | grep mysql
    yum remove mysql-libs  # 清理殘留
    
  3. 配置第三方源(Remi/EPEL/RPMForge/IUS):
    
    rpm -Uvh https://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
    rpm -Uvh https://rpms.famillecollet.com/enterprise/remi-release-6.rpm
        
  4. 安裝 5.5:
    
    yum --enablerepo=remi,remi-test install mysql mysql-server
        
  5. 升級系統表並啟動:
    
    mysql_upgrade -u root -p
    service mysqld restart
    # 見到兩個 [OK] 即成功
        
  6. 驗證: mysql -V 顯示 5.5.x,再次導入 SQL 無報錯。

mysql_upgrade 過程

服務啟動成功

避坑指南

  • 配置檔遷移:舊 my.cnf 參數可能不相容,建議基於新版預設配置重寫
  • SQL_MODE 變更:5.7 預設 ONLY_FULL_GROUP_BY, STRICT_TRANS_TABLES... 可能導致舊應用報錯,按需調整
  • 密碼插件:5.7+ 預設 caching_sha2_password,舊客端需指定 mysql_native_password
  • 測試先行:生產環境升級前,必須在預演環境全流程驗證
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved