VestaCP/CWP/CentOS 7如何更新/升级到MariaDB 10.4?

在本教程将指导你如何在CentOS 7上,将MariaDB升级/安装到最新的Mariadb10.4版本。

  • 本教程也适用于CWP和VestaCP或任何其他兼容的VPS服务器控制面板。

MariaDB的LOGO

MariaDB 10.4现在非常稳定,并且在此版本中添加和改进了许多功能。

  • 你可以在此处检查所有更改列表。

我们已经使用WordPress、Joomla、xenforo、IPS论坛和一些依赖于MySQL DB的PHP脚本检查了MariaDB 10.4,因此可以安全地升级到此版本。

MariaDB是什么?

关于MariaDB的简短描述:

  • MariaDB被设计为MySQL的直接替代品。
  • 具有更多功能:新存储引擎,更少的错误和更好的性能。
  • MariaDB由MySQL的许多原始开发人员开发,他们现在为MariaDB Foundation和MariaDB Corporation以及社区中的许多人工作。

要升级,请按照以下简单步骤,将其升级到最新版本。

步骤1:删除MariaDB旧版本

  • 删除MariaDB 5.5 / 10.0 / 10.1 / 10.2 / 10.3

在安装之前,建议你备份先备份MySQL数据库

首先,备份你当前的my.cnf配置 ▼

cp /etc/my.cnf /etc/my.cnf.bak
  • 现在我们需要删除安装在centos 7上的当前版本的mariadb 5.5:

对于MariaDB 5.5 ▼

service mariadb stop / service mysql stop
rpm -e --nodeps galera
yum remove mariadb mariadb-server
  • 此时MariaDB 5.5将被完全删除,但数据库不会被删除,不必担心。

对于MariaDB 10.0 / 10.1 / 10.2 / 10.3 ▼

service mysql stop 
rpm -e --nodeps galera
yum remove MariaDB-server MariaDB-client
  • 此时,MariaDB 10.0 / 10.1 / 10.2 / 10.3将被完全删除,但数据库不会被删除,不必担心。

步骤2:安装MariaDB 10.4

  • 从MariaDB 5.5 / 10.0 / 10.1 / 10.2 / 10.3版本,安装/更新到MariaDB 10.4。

安装/启用,Mariadb 10.4官方的repo ▼

yum install nano epel-release -y

现在编辑/创建Repo文件/etc/yum.repos.d

如果存在删除或备份现有的repo文件,请确保你没有任何其他MariaDB存储库文件 ▼

mv /etc/yum.repos.d/mariadb.repo /etc/yum.repos.d/mariadb.repo.bak
nano /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 10.4 ▼

yum clean all
yum install MariaDB-server MariaDB-client net-snmp perl-DBD-MySQL -y
yum update -y

恢复my.cnf文件 ▼

rm -rf /etc/my.cnf
cp /etc/my.cnf.bak /etc/my.cnf

然后,激活Mariadb开机启动,和启动服务:

systemctl enable mariadb
service mysql start

步骤3:升级当前数据库

安装后,我们需要通过以下命令升级当前数据库 ▼

mysql_upgrade
  • 若无意外,此时你已成功将MariaDB 5.5 / 10.0 / 10.1 / 10.2 / 10.3版本,升级到MariaDB 10.4最新版本了。

如果在输入命令 mysql_upgrade 升级数据库时,出现以下错误提示 ▼

[root@ ~]# mysql_upgrade
Version check failed. Got the following error when calling the 'mysql' command line client
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
FATAL ERROR: Upgrade failed

请使用以下mysql_upgrade 命令来解决 ▼

mysql_upgrade -u root --datadir=/var/lib/mysql/ --basedir=/ --password=123456
  • 请将以上“123456”,改成你的MySQL或Mariadb数据库root密码。

最后,你可以通过从终端SSH运行此命令,来确认MySQL或Mariadb数据库版本 ▼

mysql -V

注意事项

如果你的MariaDB数据库出现类似错误提示 ▼

警告:数据库错误 Column count of mysql.proc is wrong. Expected 21, found 20. Created with MariaDB 50560, now running 100406. Please use mysql_upgrade to fix this error 查询 SHOW FUNCTION STATUS

MariaDB数据库错误的解决方法,请点击以下链接查看 ▼