LOGO

MIS 腳印

記錄 IT 學習的軌跡

CentOS 7 使用 YUM 安裝升級 MariaDB 到指定新版本

使用 MariaDB 官方提供的 YUM 庫,將 CentOS 7 預設舊版本 MariaDB 安裝更新到支援 JSON 資料型態的指定新版本,並在更新 MariaDB 前備份全部資料庫和設定檔。

CentOS

查看 MariaDB 當前版本

指令

使用 mysql 指令查看 MariaDB 版本:

[root@localhost ~]# mysql -V
mysql  Ver 15.1 Distrib 5.5.60-MariaDB, for Linux (x86_64) using readline 5.1

登入 MariaDB

登入 MariaDB 後,就會顯示 MariaDB 版本:

[root@localhost ~]# mysql -u root -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 186
Server version: 5.5.60-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> exit
By

備份

全部資料庫

使用 mysqldump 備份資料庫指令:

  • -u:帳戶名稱。
  • -p:輸入帳戶密碼。
  • --all-database:全部資料庫。
  • all.sql:自訂備份檔名 (可先指定存放路徑)。
[root@localhost ~]# mysqldump -u root -p --all-database > all.sql
Enter password:

設定檔

備存設定檔:

[root@localhost ~]# cp /etc/my.cnf /etc/my.cnf.bak

加入 MariaDB YUM 庫

建議安裝 MariaDB 官方目前的穩定 (stable) 版本,請參考 MariaDB - MariaDB

加入 MariaDB 官方 YUM 庫 (參考 Installing MariaDB with yum/dnf - MariaDB Knowledge Base):

[root@localhost ~]# vim /etc/yum.repos.d/MariaDB.repo
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.4/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

升級 MariaDB

停用 MariaDB 服務:

[root@localhost ~]# systemctl stop mariadb

移除目前安裝的 MariaDB 舊版本:

[root@localhost ~]# yum remove mariadb mariadb-server

安裝 MariaDB 新版本:

[root@localhost ~]# yum install mariadb mariadb-server

啟用 MariaDB 服務並開機自動啟用:

[root@localhost ~]# systemctl start mariadb
[root@localhost ~]# systemctl enable mariadb

升級原有 Dababase:

[root@localhost ~]# mysql_upgrade -u root -p
Enter password: 
Phase 1/7: Checking and upgrading mysql database
Processing databases
mysql
mysql.columns_priv                                 OK
mysql.db                                           OK

# … 中間省略

revenue_rate.revenue_unoverdated_amount            OK
test
test.order_amount_detail                           OK
test.test                                          OK
Phase 7/7: Running 'FLUSH PRIVILEGES'
OK

參考


發表迴響