CentOS离线安装与升级 MySQL 服务
214
2023-08-04
版本信息
操作系统:CentOS 7.9
MySQL原有版本:8.0.28 / 8.0.29
MySQL升级版本:8.0.34(当前8.0的最新版本)
起因
工作过程中安全部门反馈MySQL 8.0.29的安全漏洞,官方给的补丁似乎需要购买企业版的服务号,可咱用的是社区版,不知道去哪里搞到服务号;一不做二不休干脆把MySQL版本升级了,不知道新的版本是不是修正了老版本已知的安全漏洞。
过程概述
安全起见,现在本地通过虚拟环境测试一下MySQL升级过程。
注:因为生产服务器多为仅有内网环境,所以 MySQL 的安装和升级过程完全是离线状态的
安装系统 CentOS 7.9(文章中不再赘述);
安装老版本的 MySQL;
对现有数据库新建数据库、新建表、新建数据记录测试;
升级 MySQL 版本;
查看升级结果。
离线安装 MySQL 服务
下载离线安装包
登录地址 https://dev.mysql.com/downloads/mysql/ 下载 MySQL 离线安装包;
目前最新版本是8.0.34,在本例中为了测试后面的升级过程,现在的版本为8.0.28;
因为是离线安装,所以请下载标记 bundle(捆绑包)的 rpm 文件。
安装
检测并删除系统自带的mariadb
# 查看系统自带的 mariadb
[root]# rpm -qa|grep mariadb
mariadb-libs-5.5.44-2.el7.centos.x86_64
# 卸载系统自带的 mariadb
[root]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64
# 删除etc目录下的my.cnf
[root]# rm /etc/my.cnf
解压 tar 包
将下载的 MySQL 套件包上传到服务器中,使用 tar 命令解压
tar -xvf mysql-8.0.28-1.el7.x86_64.rpm-bundle.tar
安装 MySQL 服务
按照顺序依次执行如下安装命令
rpm -ivh mysql-community-common-8.0.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-icu-data-files-8.0.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.28-1.el7.x86_64.rpm
创建用户组和用户
groupadd mysql
useradd -g mysql mysql
初始化 Mysql
mysqld --initialize --console
修改权限
chown -R mysql:mysql /var/lib/mysql/
启动服务
systemctl start mysqld
查看初始密码
cat /var/log/mysqld.log | grep localhost
使用初始密码登陆 mysql,修改默认密码
mysql -u root -p
mysql> alter user 'root'@'localhost' identified by '123456';
mysql> flush privileges;
修改全网允许 root 用户访问
mysql> use mysql
mysql> update user set host = '%' where user ='root';
mysql> flush privileges;
mysql> select host,user from user where user='root';
mysql> quit
升级
下载、上传、解压过程与安装步骤一致。
查看已安装的 MySQL 包
root:> rpm -qa | grep -i mysql
mysql-community-libs-8.0.28-1.el7.x86_64
mysql-community-common-8.0.28-1.el7.x86_64
mysql-community-client-8.0.28-1.el7.x86_64
mysql-community-server-8.0.28-1.el7.x86_64
mysql-community-client-plugins-8.0.28-1.el7.x86_64
mysql-community-icu-data-files-8.0.28-1.el7.x86_64
停止 MySQL 服务
root:> systemctl stop mysqld
根据已安装的包针对性更新
rpm -Uvh mysql-community-common-8.0.34-1.el7.x86_64.rpm \
mysql-community-client-plugins-8.0.34-1.el7.x86_64.rpm \
mysql-community-libs-8.0.34-1.el7.x86_64.rpm \
mysql-community-client-8.0.34-1.el7.x86_64.rpm \
mysql-community-server-8.0.34-1.el7.x86_64.rpm \
mysql-community-icu-data-files-8.0.34-1.el7.x86_64.rpm
启动 MySQL 服务
root:> systemctl start mysqld
安装和升级过程中可能遇到的问题
pkgconfig(openssl) is needed by...
参考
浅谈centos7 MySQL 8.0.13升级至8.0.32
【已解决】CentOS 7 安装MySQL80报错:pkgconfig(openssl) is needed by mysql-community-devel-8.0.28-1.el7.x86_64
- 0
- 0
-
分享