如何在 CentOS/RHEL 7 和 Debian 系统上将 MariaDB 5.5 升级到 MariaDB 10.1
MariaDB是著名的 MySQL 社区分支,在 Oracle 收购 MySQL 项目后广受欢迎。2015年 12 月 24 日发布了最新稳定版本,即MariaDB 10.1.10。
什么是新的
此版本中添加了一些新功能,您可以在下面看到:
- Galera 是一种多主集群解决方案,现在是 MariaDB 的标准部分。
- 添加了两个新的信息架构表,以便更好地检查 wsrep 信息。这两个表是 WSREP_MEMBERSHIP和WSREP_STATUS。
- InnoDB 和 XtraDB 的页面压缩。页面压缩类似于 InnoDB COMPRESSED 存储格式。
- FusionIO 的页面压缩。
- 其中包括的一些优化调整:
- 不要为临时表创建 .frm 文件
- 使用 MAX_STATEMENT_TIME 自动中止长时间运行的查询
- malloc() 函数使用较少,简单查询执行速度更快
- Webscale 补丁
- 插件更新
- 安全修复(许多漏洞已得到解决)。
在本教程中,我们将向您展示如何将MariaDB 5.5升级到MariaDB 10.1最新稳定版本。您需要对将要执行升级的机器具有root 访问权限。
请注意,如果您正在运行早期版本的 MariaDB,建议的升级过程是逐个版本进行。例如MariaDB 5.1 -> 5.5 -> 10.1。
步骤 1:备份或转储所有 MariaDB 数据库
与往常一样,在执行升级时,创建现有数据库的备份非常重要。您可以使用以下命令转储数据库:
# mysqldump -u root -ppassword --all-databases > /tmp/all-database.sql
或者,您也可以使用以下命令停止 MariaDB 服务:
# systemctl stop mysql
并将数据库目录复制到单独的文件夹中,如下所示:
# cp -a /var/lib/mysql/ /var/lib/mysql.bak
如果升级失败,您可以使用上述副本之一来恢复数据库。
第 2 步:添加 MariaDB 存储库
一个好的做法是在对 repo 文件进行任何更改之前确保您的软件包是最新的。你可以这样做:
# yum update [On RHEL/CentOS 7] # apt-get update [On Debian/Ubuntu]
在 RHEL/CentOS 7 上
如果您有任何旧软件包,请等待安装完成。接下来,您需要为 CentOS/RHEL 7/ 发行版添加MariaDB 10.1存储库。为此,请使用您最喜欢的文本编辑器(例如vim或nano)并打开以下文件:
# vim /etc/yum.repos.d/MariaDB10.repo
在其中添加以下文本:
# MariaDB 10.1 CentOS repository list - created 2016-01-18 09:58 UTC # http://mariadb.org/mariadb/repositories/ [mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.1/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1
然后保存并退出文件(对于 vim :wq)
在 Debian 和 Ubuntu 上
运行以下一系列命令在您的系统上添加 MariaDB PPA:
# apt-get install software-properties-common # apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db # add-apt-repository 'deb [arch=amd64,i386] http://kartolo.sby.datautama.net.id/mariadb/repo/10.1/ubuntu wily main'
重要提示:不要忘记用你的发行版名称和版本号 替换ubuntu wily 。
步骤 3:删除 MariaDB 5.5
如果您已按照步骤 1中的建议备份了数据库,那么您现在就可以继续并删除现有的 MariaDB 安装。
为此,只需运行以下命令:
# yum remove mariadb-server mariadb mariadb-libs [On RHEL/CentOS 7] # apt-get purge mariadb-server mariadb mariadb-libs [On Debian/Ubuntu]
接下来,清理存储库缓存:
# yum clean all [On RHEL/CentOS 7] # apt-get clean all [On Debian/Ubuntu]
步骤4:安装MariaDB 10.1
现在是时候安装新版本的 MariaDB 了,方法是:
# yum -y install MariaDB-server MariaDB-client [On RHEL/CentOS 7] # apt-get install mariadb-server MariaDB-client [On Debian/Ubuntu]
安装完成后,您可以用以下命令启动 MariaDB 服务:
# systemctl start mariadb
如果您希望 MariaDB 在系统启动后自动启动,请运行:
# systemctl enable mariadb
最后运行升级命令来升级 MariaDB:
# mysql_upgrade
要验证升级是否成功,请运行以下命令:
# mysql -V
恭喜,您的升级已完成!
结论
MariaDB/MySQL 升级始终是需要格外小心执行的任务。希望您能够顺利完成。如果您遇到任何问题,请随时发表评论。