Mariadb 10.3 升级 10.11&安装 imagick 模组

  发布于 2023-09-07  325 次阅读


近期Wordpress的站点健康页面提示Mariadb 10.3 版本过旧,及 php 可选的模块 imagick 未安装,以下为安装的记录,为自己留档,也供大家参考,有建议欢迎评论。

环境为阿里云的轻量服务器

系统版本 Alibaba Cloud Linux 3

Linux version 5.10.23-5.al8.x86_64

Mariadb 10.3 升级 10.11

Mariadb 10.11 是目前最新的长期支持版本

1.备份数据库

艺高人胆大可不进行

# 1.停止数据库
systemctl stop mariadb
# 2.对数据库进行全库备份
mysqldump -uroot -p -A > /tmp/mydb.sql
# 3.对数据库配置文件进行备份
cp /etc/my.cnf /etc/my.cnf.bak
cp -r /etc/my.cnf.d /etc/my.cnf.d.bak

2.配置Mariadb源

官方当然不会有 Alibaba Cloud Linux 3 的源,但我们可以选用兼容的 Red Hat Enterprise Linux 8、CentOS 8

前往官网,选择Red Hat Enterprise Linux 8、10.11版本、Alibaba Cloud。新建文件:vim /etc/yum.repos.d/MariaDB.repo,保存官网提供的源内容。

# MariaDB 10.11 RedHatEnterpriseLinux repository list - created 2023-09-07 07:10 UTC
# https://mariadb.org/download/
[mariadb]
name = MariaDB
# rpm.mariadb.org is a dynamic mirror if your preferred mirror goes offline. See https://mariadb.org/mirrorbits/ for details.
# baseurl = https://rpm.mariadb.org/10.11/rhel/$releasever/$basearch
baseurl = https://mirrors.aliyun.com/mariadb/yum/10.11/rhel/$releasever/$basearch
module_hotfixes = 1
# gpgkey = https://rpm.mariadb.org/RPM-GPG-KEY-MariaDB
gpgkey = https://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck = 1

## 以上即为官网提供的源内容,但 Alibaba Cloud Linux 3 的 /$releasever/$basearch 无法与源仓库对应上,经查看源仓库目录,我将该部分该为 /8Server/x86_64 ,即最后源内容如下:

# MariaDB 10.11 RedHatEnterpriseLinux repository list - created 2023-09-07 00:13 UTC
# https://mariadb.org/download/
[mariadb]
name = MariaDB
# rpm.mariadb.org is a dynamic mirror if your preferred mirror goes offline. See https://mariadb.org/mirrorbits/ for details.
# baseurl = https://rpm.mariadb.org/10.11/rhel/8Server/x86_64/
baseurl = https://mirrors.aliyun.com/mariadb/yum/10.11/rhel/8Server/x86_64/
module_hotfixes = 1
# gpgkey = https://rpm.mariadb.org/RPM-GPG-KEY-MariaDB
gpgkey = https://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck = 1

清除 yum 源缓存并建立数据源(或用dnf)

yum clean all 
yum makecache

3.升级Mariadb

# 1.首先要先卸载 Mariadb
yum remove mariadb-server
# 2.重新安装 Mariadb
yum install mariadb-server
# 3.重新启动 Mariadb
systemctl start mariadb
systemctl enable mariadb
# 4.#升级MySQL中的系统表
mysql_upgrade -uroot -p --force

运行以上命令如果没出错误,那就好了,但在我执行过程中出现了这样一个警告:

……
Phase 4/8: Fixing views
mysql.user
Warning  : The user specified as a definer ('mariadb.sys'@'localhost') does not exist
status   : OK
sys.host_summary 
……

提示 mariadb.sys 用户不存在,可以执行以下命令添加用户

grant all privileges on *.* to 'mariadb.sys'@'localhost' identified by 'root' with grant option;

完成后可以再执行一次 mysql_upgrade 看是否还有其他警告或错误。

如果没有,则这次数据库升级成功了。

参考文章

Mariadb升级10.8

Installing MariaDB with yum/dnf

centos7 使用 mariadb 10.6.4 意外错误

安装 imagick 模组

# 1.首先安装 ImageMagick
yum install ImageMagick ImageMagick-devel
convert --version   # 确认是否安装成功
# 2.通过 pecl 安装 imagick模块
yum install php-pear php-devel #安装pecl
pecl install imagick
# 安装过程会提示输入ImageMagick的安装路径,留空让其自动检测即可

最后在php.ini中添加extension=imagick.so

输出php -m,如果看到 imagick 就说明安装成功了。

参考文章

轻松安装imagick扩展