如何在CentOS 7/RHEL 7上将Mariadb 5.5升级到Mariadb 10.0

时间:2019-08-20 17:58:19  来源:igfitidea点击:

MariaDB是MySQL数据库的一个分支。
现在它是RHEL7/CentOS 7附带的默认数据库。

MariaDB站点中列出了不兼容的参数。建议升级前进行阅读并检查my.cnf文件。
https://mariadb.com/kb/en/mariadb/documentation/getting-started/upgrading/upgrading-from-mariadb-55-to-mariadb-100/

在本教程中,我们将学习如何在CentOS 7/RHEL 7上将Mariadb 5.5升级到Mariadb 10.0。

在MariaDB从5.5.x版本升级到10.0.x版本之前进行数据库备份

对所有数据库进行完整备份。

mysqldump -u root -p --all-databases > AllDatabases.sql

我们还建议我们对每个数据库进行备份。

mysqldump -u root -p database_name > database_name.sql

备份my.cnf文件和my.cnf.d目录。

cp -p  /etc/my.cnf /etc/my.cnf.5.5.x.orig

备份/etc/my.cnf.d/

cd ~
tar -cvzf my.cnf.d.tar.gz /etc/my.cnf.d/

备份MariaDB的数据目录

默认路径为/var/lib/mysql/。
在my.cnf中查看数据目录datadir

cd ~
tar -cvzf lib_mysql.tar.gz /var/lib/mysql/

将MariaDB从5.5版本升级到10.0版本

将MariaDB 5.5.x版本升级到10.x版本的基本步骤:

  1. 使用yum命令删除MariaDB 5.5.x包。

  2. 使用yum命令安装MariaDB 10.x。

  3. 运行mysql_upgrade命令

通过yum命令删除MariaDB 5.5.x

首先检查系统上安装了哪些MariaDB包。这些包将通过yum命令删除。

rpm -qa|grep  -i mariadb

示例:

[root@localhost ~]# rpm -qa|grep  -i mariadb
mariadb-server-5.5.40-1.el7_0.x86_64
mariadb-libs-5.5.40-1.el7_0.x86_64
mariadb-5.5.40-1.el7_0.x86_64
[root@localhost ~]#

停止MariaDB服务

systemctl stop mariadb.service

通过yum删除这些包

yum remove mariadb-server mariadb-libs mariadb

安装MariaDB Server 10.x

在/etc/yum.repos.d/目录中添加一个mariadb.repo文件:

vi /etc/yum.repos.d/mariadb.repo

添加下面的内容

[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.0/rhel7-amd64/
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

使用下面命令删除yum缓存的数据。(重要)

yum clean all

导入MariaDB签名密钥

rpm --import https://yum.mariadb.org/RPM-GPG-KEY-MariaDB

安装MariaDB服务器和客户端

yum install MariaDB-server MariaDB-client MariaDB-devel MariaDB-shared

验证系统上安装的MariaDB包:

rpm -qa|grep -i maria

安装在步骤1中删除的postfix

安装postfix。(如果不需要,可以跳过此步骤)

yum install postfix

启动MariaDB服务

现在启动MariaDB服务。服务名称为mysql

systemctl start mysql

运行mysql升级

mysql_upgrade -u root -p