如何将Linux系统上的MySQL/MariaDB从5.5升级到5.6/5.7?
适用版本:
Plesk for Linux
警告:直接从MySQL 5.1升级到MySQL 5.6/5.7将会损坏数据表。Plesk不完全支持MariaDB 10.2。
注意:可根据下面的步骤在命令行界面中执行升级,但需自担风险,且应由系统管理员来执行该任务。
首先,通过SSH连接服务器。
Ubuntu 12.04、14.04以及Debian 7:
Ubuntu 14.04默认自带MySQL 5.5。
1. 全量备份服务器并创建一个服务器快照。
2. 备份 /etc/mysql/my.cnf:
# cp /etc/mysql/my.cnf{,_original}
3. 添加MySQL APT Repository:
进入MySQL APT repository的下载页面: http://dev.mysql.com/downloads/repo/apt/.
为您的平台选择和下载一个发布包:
# wget http://dev.mysql.com/get/mysql-apt-config_0.6.0-1_all.deb
安装已下载的发布包:
# dpkg -i mysql-apt-config_0.6.0-1_all.deb
(在安装包的过程中,将会要求您选择MySQL服务器的版本和您要安装的其它组件。如果您不确定要选择哪个版本,请不要更改已为您选定的默认选 项。如果您不想安装某个组件,还可选择无。在选好所有要安装的组件后,请选择应用以完成发布包的配置和安装。)
更新来自MySQL APT repository的包信息:
# apt-get update
4. 升级MySQL:
# apt-get install mysql-server
当提示要更新 /etc/mysql/my.cnf 时请同意.
5. 请确保已安装mysql-community-libs-compat包。若丢失,请将其安装。
6. 在Plesk界面中进入 工具与设置 > 服务器组件 点击 刷新。
7. 升级MySQL数据库:
# MYSQL_PWD=`cat /etc/psa/.psa.shadow` mysql_upgrade -uadmin
CentOS 6:
1. 停止MySQL服务:
# service mysqld stop
2. 备份数据库:
# cp -a /var/lib/mysql /var/lib/mysql_backup
3. 若已启用Atomic repository,请禁用:
# vi /etc/yum.repos.d/atomic.repo
enabled = 0
4. 安装MySQL-community repository:
# yum install http://dev.mysql.com/get/mysql57 … se-el6-7.noarch.rpm
5. 选择一个MySQL版本:
# vi /etc/yum.repos.d/mysql-community.repo
[mysql56-community]
enabled=0
[mysql57-community]
enabled=1
6. 安装MySQL包:
# yum update mysql
如果更新mysql包以“Nothing to do”信息结束,请确保未将mysql*包添加到不包括在yum.conf文件中的列表中,若在该列表中请将其移除:
# cat /etc/yum.conf | grep exclude
exclude=php-common php-cli php mysql* httpd* mod_ssl*
7. 若显示以下信息请键入y:
warning: rpmts_HdrFromFdno: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
Importing GPG key 0x5072E1F5:
Userid : MySQL Release Engineering <mysql-build@oss.oracle.com>
Package: mysql57-community-release-el6-7.noarch (@/mysql57-community-release-el6-7.noarch)
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
Is this ok [y/N]:
8. 启动MySQL服务:
# service mysqld start
9. 升级MySQL数据库:
# MYSQL_PWD=`cat /etc/psa/.psa.shadow` mysql_upgrade -uadmin
10. 重启mysql服务:
# service mysqld restart
CentOS 7:
CentOS 7自带MariaDB。MariaDB 10.x版本是MySQL 5.5-5.7的替代品。
1. 通过下面的命令备份所有数据库:
# MYSQL_PWD=`cat /etc/psa/.psa.shadow` mysqldump -u admin –all-databases > /tmp/all-databases.sql
2. 停止MariaDB服务:
# service mariadb stop
3. 移除其它包,如mariadb-bench:
# rpm -e mariadb-bench
4. 如下在一个单独的文件夹中复制一个数据库目录(也做备份用):
# cp -a /var/lib/mysql/ /var/lib/mysql_bakup
5. 添加MariaDB repository:
# cat /etc/yum.repos.d/MariaDB10.1.repo
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey = https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck = 1
6. 通过下面的命令执行升级:
# yum install mariadb
7. 启动MariaDB服务:
# service mariadb start
8. 执行下面的命令在Plesk内更新包版本:
# plesk sbin packagemng -sdf
注意:升级到10.2版本后,可能会出现’mysql’ init脚本,可通过下面的命令将其移除:
# rm /etc/init.d/mysql
# systemctl daemon-reload
Debian 8:
Debian 8基本自带MariaDB。MariaDB 10.x版本是MySQL 5.5/5.6/5.7的替代品。
1. 备份所有现有的数据库
2. 然后将其更新升级。
3. 接着执行下面的命令在Plesk内更新包版本:
# plesk sbin packagemng -sdf