过滤出已安装的MySQL相关的包
[root@mysql-0001 mysql]# rpm -qa|grep -i mysql
mysql-community-client-5.7.42-1.el7.x86_64
mysql-community-libs-5.7.42-1.el7.x86_64
mysql-community-server-5.7.42-1.el7.x86_64
mysql-community-common-5.7.42-1.el7.x86_64
mysql-community-libs-compat-5.7.42-1.el7.x86_64
根据过滤出来的包下载需要升级的包,或下载完整包
清华地址:https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/
mysql 官网:https://downloads.mysql.com/archives/community/
备份数据库
# 备份数据库
mysqldump -u$MYSQL_ADMIN_USER -p $MYSQL_ADMIN_PASSWOR --all-databases --default-character-set=utf8 > /data/backup/databases.sql
# 备份配置文件
cp /etc/my.cnf /etc/my.cnf.bak
停止数据库
systemctl stop mysqld.service
卸载低版本 mysql
rpm -qa | grep -i mysql | xargs rpm -ev --nodeps
解压安装包(如果是压缩包下载)
mkdir mysql
cd mysql/
## 上传文件
tar –xvf mysql-5.7.44-1.el7.x86_64.rpm-bundle.tar
安装新版 mysql
rpm -ivh *
或
# 按照顺序执行
rpm -ivh mysql-community-common-5.7.44-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.44-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.44-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.44-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.44-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.44-1.el7.x86_64.rpm
还原 配置文件
# 还原配置文件
cp /etc/my.cnf.bak /etc/my.cnf
启动 mysql
systemctl start mysqld.service
使用 mysql_upgrate 进行系统表的检测
mysql_upgrate进行系统数据库表检测,检测是否兼容,若发现问题,尝试对其进行修复
mysql_upgrade -u$MYSQL_ADMIN_USER -p $MYSQL_ADMIN_PASSWOR
访问 mysql 验证
mysql -u$MYSQL_ADMIN_USER -p $MYSQL_ADMIN_PASSWOR
mysql> select version();
+-----------+
| version() |
+-----------+
| 5.7.44 |
+-----------+
如果发现问题,则使用备份的文件进行数据恢复
如果提示错误:Bad handshake
是因为高版本自动开启了 ssl 链接
在 /etc/my.cnf 中设置
[mysqld]
skip-ssl
或
[mysqld]
ssl-ca=/path/to/ca-cert.pem
ssl-cert=/path/to/server-cert.pem
ssl-key=/path/to/server-key.pem
并在客户端连接时开启
jdbc:mysql://[host]:[port]/[database]?useSSL=true&requireSSL=true