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:
# systemctl stop mysql
MariaDB:
# systemctl stop mariadb
然后将数据库目录移到另一个目录:
# mv /var/lib/mysql /var/lib/mysql55.bak
2. 移除 MySQL
检查安装在系统的 MySQL 相关套件, 可以用 rpm 或 yum 指令查看:
# rpm -qa | grep -i mysql
或
# rpm -qa | grep -i mariadb
会返回安装在系统的 MySQL 或 MariaDB 套件, 以下是 CentOS 7 默认的 MariaDB 返回结果:
mariadb-libs-5.5.52-1.el7.x86_64
mariadb-5.5.52-1.el7.x86_64
mariadb-server-5.5.52-1.el7.x86_64
知道了安装在系统的 MySQL 相关套件后, 用 yum 指令移除, 以下是根据上面的查询结果移除:
# yum remove mariadb-libs mariadb-server mariadb-client mariadb
3. 安装 MySQL 5.6
先安装 MySQL Repository:
# rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
安装 mysql-community-server 套件, MySQL Server 及 MySQL client 已经包括在该套件内:
# yum install mysql-community-server
4. 升级数据库
安装好 MySQL 5.6 后, 在启动 MySQL 前需要将 MySQL / MariaDB 5.5 的资料升级:
先将 MySQL 5.6 默认的数据库目录改名:
# mv /var/lib/mysql /var/lib/mysql56
把原来 MySQL 5.5 的资料移到默认 MySQL 数据库目录, 及改变权限:
# cp -R /var/lib/mysql55.bak /var/lib/mysql
# chown -r mysql.mysql /var/lib/mysql
现在可以启动 MySQL 5.6:
# systemctl start mysql
然后执行 mysql_upgrade 升级数据及权限:
# mysql_upgrade -u root -p
当 mysql_upgrade 执行成功后, 所有数据库便升级完成, 可以尝试连接到 MySQL 并检查资料是否完整, 最后一步是设定开机自动启动 MySQL:
# /usr/bin/systemctl enable mysqld
你可能感兴趣的内容: