RHEL 及 CentOS 7 預設的資庫系統是 MariaDB 5.5 (等同 MySQL 5.5), 雖然現時 MySQL 最新版是 5.7, 但一般上升級都建議一級一級上, 而 MySQL 5.6 比 5.5 也提高了效能及提供更多功能, 以下是在 RHEL 及 CentOS 從原來的 MySQL 5.5 或 MariaDB 5.5, 升級到 MySQL 5.6 的步驟。
1. 備份 MySQL
不論做任何升級或遷移, 也要先備份 MySQL 的資料, 先停止 MySQL 或 MariaDB 伺服器:
MySQL:
MariaDB:
然後將資料庫目錄移到另一個目錄:
2. 移除 MySQL
檢查安裝在系統的 MySQL 相關套件, 可以用 rpm 或 yum 指令查看:
或
會返回安裝在系統的 MySQL 或 MariaDB 套件, 以下是 CentOS 7 預設的 MariaDB 返回結果:
mariadb-5.5.52-1.el7.x86_64
mariadb-server-5.5.52-1.el7.x86_64
知道了安裝在系統的 MySQL 相關套件後, 用 yum 指令移除, 以下是根據上面的查詢結果移除:
3. 安裝 MySQL 5.6
先安裝 MySQL Repository:
安裝 mysql-community-server 套件, MySQL Server 及 MySQL client 已經包括在該套件內:
4. 升級資料庫
安裝好 MySQL 5.6 後, 在啟動 MySQL 前需要將 MySQL / MariaDB 5.5 的資料升級:
先將 MySQL 5.6 預設的資料庫目錄改名:
把原來 MySQL 5.5 的資料移到預設 MySQL 資料庫目錄, 及改變權限:
# chown -r mysql.mysql /var/lib/mysql
現在可以啟動 MySQL 5.6:
然後執行 mysql_upgrade 升級數據及權限:
當 mysql_upgrade 執行成功後, 所有資料庫便升級完成, 可以嘗試連接到 MySQL 並檢查資料是否完整, 最後一步是設定開機自動啟動 MySQL:
chown -r mysql.mysql /var/lib/mysql
這段我執行失敗,但修正以下指令 便可成功
chown -R mysql:mysql /var/lib/mysql
我想將你的文章作為 我工作日誌紀錄 放置我BOLG 不知道是否可以?