原文链接:https://blog.csdn.net/qq_41107231/article/details/119064936
一、问题描述
本站自建站以来使用的都是 MySQL5.5.62 版本,由于此版本数据库过于陈旧,在 WordPress 的站点健康检查中收到提示 “数据库服务器过于陈旧”。遂决定升级 MySQL,告别旧时代。
二、备份数据
由于没有测试环境,都是在生产环境直接操作。所以我没有进行数据库的卸载操作,而是直接将原目录修改名称以备不时之需【如果升级失败可以回退】。
升级前备份 MySQL 中的 wordpress 数据库。【因为我只用到了 wordpress 数据库】
## 格式 mysqldump -u [用户名] -p [数据库名] > [生成的文件名] ## 导出示例 mysqldump -u root -p wordpress > /home/mysql/wordpress.sql
三、停止服务
备份后,停止原 MySQL 服务
service mysql stop
备份 MySQL 目录和 my.cnf 文件【需根据实际路径自行备份】
mv /usr/local/mysql /usr/local/mysql_old
mv /etc/my.cnf /etc/my.cnf_old
最好还要将 nginx 和 php-fpm 服务一并停掉
service nginx stop service php-fpm stop
四、安装新版
卸载步骤可自行判断是否执行,谨慎执行,后果自负。
(1)检查系统是否安装 MySQL
rpm -qa|grep mariadb rpm -qa|grep mysql
如果存在,卸载命令示例如下:
rpm -e --nodeps mariadb-libs-5.5.62-1.el7.x86_64
如果无输出,则可以直接安装新版本 MySQL。
(2)检查操作系统版本
cat /etc/redhat-release
(3)下载并安装 MySQL 官方的 Yum Repository
wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm
(4)进行 repo 的安装
rpm -ivh mysql80-community-release-el7-1.noarch.rpm
安装完成之后,会在 /etc/yum.repos.d/ 这个目录下生成两个文件:
(5)安装 MySQL Server
yum -y install mysql-server
(6)启动 MySQL
systemctl start mysqld.service ## 查看服务状态 systemctl status mysqld.service ## 查看进程 ps -ef|grep mysqld
(7)登录 MySQL
mysql -u root -p
首次登录,没有密码直接回车即可。登录后设置密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
退出,使用配置的密码再次登录。
(8)版本验证
[root@dameng ~]# mysql --version mysql Ver 8.0.26 for Linux on x86_64 (Source distribution)
此时,MySQL 已升级到 8.0.26 版本。
五、数据恢复
重新创建 wordpress 数据库
mysql> create database wordpress; ## 执行备份SQL文件 mysql> source /home/mysql/wordpress.sql;
六、重启服务
service php-fpm start service nginx start
登录网站,验证
SQL 服务器已是最新,MySQL 升级成功。