RHEL / CentOS 7 升級 MariaDB 到 10.5


RHEL 及 CentOS 7 預設的 MariaDB 版本是仍然停留在 5.5。MariaDB 10 是以 MySQL 5.5 為基礎, 加上移植自 MySQL 5.6 的功能和自行開發的新功能。

以下是在 CentOS 7 升級到 MariaDB 10.5, 以及將舊有資料轉移的步驟:

首先確認目前安裝的 MariaDB 版本, 如果是透過預設的 YUM Repo 安裝, 應該是 5.5:

/opencli.com/mariadb

  • $ mysql -V
    mysql Ver 15.1 Distrib 5.5.65-MariaDB, for Linux (x86_64) using readline 5.1

雖然升級後會用 mysql_upgrade 轉移資料, 為安裝起見, 升級前先用 mysqldump 將資料備份:

/opencli.com/mariadb

  • $ mysqldump -u root -p –all-database > mysql-backup.sql

上面是 mysqldump 備份資料庫指令, 按自己的需要改變指令:

–all-database: 備份全部資料庫
mysql-backup.sql: 備份的檔案

輸入以上指令後, 輸入 mariadb 的 root 密碼以備份資料.

然後將 MariaDB 的設定檔備份:

# cp /etc/my.cnf /etc/my.cnf.bak

設定 MariaDB 的 YUM Repo, 建立檔案 /etc/yum.repos.d/MariaDB.repo:

/opencli.com/mariadb

  • # vi /etc/yum.repos.d/MariaDB.repo

加入以下內容:

先停止及移除目前的 MariaDB:

/opencli.com/mariadb

  • # systemctl stop mariadb
    # yum remove mariadb mariadb-server

現在開始安裝 MariaDB 10.5,

/opencli.com/mariadb

  • # yum install mariadb mariadb-server

啟動 MariaDB 及設定開機自動啟動:

/opencli.com/mariadb

  • # systemctl enable –now mariadb

現在將原來的 MariaDB 資料升級:

/opencli.com/mariadb

  • # mysql_upgrade -u root -p

如果一切順利, MariaDB 及所有舊有資料已經升級完成。

Leave a Reply