你的浏览器不支持canvas

做你害怕做的事情,然后你会发现,不过如此。

MySQL8.0.34小版本升级到8.1.0

时间: 作者: 黄运鑫

本文章属原创文章,未经作者许可,禁止转载,复制,下载,以及用作商业用途。原作者保留所有解释权。


准备

  • 系统版本CentOS Linux 7
  • 由于Oracle MySQL Enterprise Monitor远程安全漏洞(CVE-2022-37865),需要将MySQL8.0.34到8.1.0
  • 此次升级仅适用于rpm方式安装的MySQL
  • 下载最新安装包:https://dev.mysql.com/downloads/mysql
    • Select Version:选择MySQL版本8.1.0
    • Select Operating System:选择Red Hat Enterprise Linux / Oracle Linux
    • Select OS Version:根据实际的系统和处理器架构选择

备份数据

  • 备份数据库,执行mysqldump -h localhost -P 3306 -u 用户名 -p 数据库名 > /home/backup.sql
  • 备份my.cnf配置文件,执行cp /etc/my.cnf /etc/my_backup.cnf

升级

  • 将下载的安装包mysql-8.1.0-1.el7.x86_64.rpm-bundle.tar上传到服务器/usr/local/mysql目录下,没有目录先执行mkdir /usr/local/mysql创建目录
  • 如果/usr/local/mysql目录下有旧版本的文件,则先执行rm -f /usr/local/mysql/*清空文件夹,再上传安装包
  • 执行cd /usr/local/mysql进入目录
  • 执行tar -xvf mysql-8.1.0-1.el7.x86_64.rpm-bundle.tar解压安装包
  • 执行rpm -Uvh mysql-community-*升级,结果如下:
[root@localhost mysql]# rpm -Uvh mysql-community-*
警告:mysql-community-client-8.1.0-1.el7.x86_64.rpm: 头V4 RSA/SHA256 Signature, 密钥 ID 3a79bd29: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:mysql-community-common-8.1.0-1.el################################# [  4%]
   2:mysql-community-client-plugins-8.################################# [  8%]
   3:mysql-community-libs-8.1.0-1.el7 ################################# [ 13%]
   4:mysql-community-client-8.1.0-1.el################################# [ 17%]
   5:mysql-community-icu-data-files-8.################################# [ 21%]
   6:mysql-community-server-8.1.0-1.elwarning: /etc/my.cnf created as /etc/my.cnf.rpmnew
################################# [ 25%]
   7:mysql-community-server-debug-8.1.################################# [ 29%]
   8:mysql-community-test-8.1.0-1.el7 ################################# [ 33%]
   9:mysql-community-devel-8.1.0-1.el7################################# [ 38%]
  10:mysql-community-libs-compat-8.1.0################################# [ 42%]
  11:mysql-community-embedded-compat-8################################# [ 46%]
  12:mysql-community-debuginfo-8.1.0-1################################# [ 50%]
正在清理/删除...
  13:mysql-community-devel-8.0.34-1.el################################# [ 54%]
  14:mysql-community-debuginfo-8.0.34-################################# [ 58%]
  15:mysql-community-test-8.0.34-1.el7################################# [ 63%]
  16:mysql-community-server-debug-8.0.################################# [ 67%]
  17:mysql-community-server-8.0.34-1.e################################# [ 71%]
  18:mysql-community-client-8.0.34-1.e################################# [ 75%]
  19:mysql-community-libs-compat-8.0.3################################# [ 79%]
  20:mysql-community-libs-8.0.34-1.el7################################# [ 83%]
  21:mysql-community-embedded-compat-8################################# [ 88%]
  22:mysql-community-common-8.0.34-1.e################################# [ 92%]
  23:mysql-community-icu-data-files-8.################################# [ 96%]
  24:mysql-community-client-plugins-8.################################# [100%]
  • 执行rpm -qa | grep mysql验证是否安装,结果如下:
[root@localhost mysql]# rpm -qa | grep mysql
mysql-community-common-8.1.0-1.el7.x86_64
mysql-community-devel-8.1.0-1.el7.x86_64
mysql-community-client-8.1.0-1.el7.x86_64
mysql-community-debuginfo-8.1.0-1.el7.x86_64
mysql-community-libs-8.1.0-1.el7.x86_64
mysql-community-embedded-compat-8.1.0-1.el7.x86_64
mysql-community-client-plugins-8.1.0-1.el7.x86_64
mysql-community-server-8.1.0-1.el7.x86_64
mysql-community-libs-compat-8.1.0-1.el7.x86_64
mysql-community-icu-data-files-8.1.0-1.el7.x86_64
mysql-community-test-8.1.0-1.el7.x86_64
mysql-community-server-debug-8.1.0-1.el7.x86_64
  • 执行mysql --version查看版本
[root@localhost mysql]# mysql --version
mysql  Ver 8.1.0 for Linux on x86_64 (MySQL Community Server - GPL)
  • 登陆数据库并验证数据
[root@ngd-app1 mysql]# mysql -h localhost -P 3306 -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 8.1.0 MySQL Community Server - GPL

Copyright (c) 2000, 2023, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> use ngd;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> select count(*) from jc_user;
+----------+
| count(*) |
+----------+
|        3 |
+----------+
1 row in set (0.00 sec)

对于本文内容有问题或建议的小伙伴,欢迎在文章底部留言交流讨论。