暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

mysql 8.0.30 升级到8.0.31 for centos 7.9(4)

原创 jieguo 2022-12-15
2490

本次实现目标:mysql-8.0.30 升级–>> mysql-8.0.31

介质准备:mysql-8.0.31-linux-glibc2.12-x86_64.tar.xz

在MySQL 8.0.16之前,需要手动调用mysql_upgrade工具升级performance_schema,INFORMATION_SCHEMA

从MySQL 8.0.16开始,mysqld 工具自动完成由之前的mysql_upgrade工具处理的所有任务

不再需要运行 mysql_upgrade,且不建议使用 mysql_upgrade

从MySQL 8.0.16开始,由mysqld --upgrade 选项控制服务器在启动时是否以及如何执行自动升级
不带–upgrade 选项或带 --upgrade=AUTO:Server启动时会尝试升级数据字典表和用户表

  • –upgrade=NONE:Server启动时不会执行任何的升级动作。但是当必须要升级数据字典时,Server将会异常退出并抛出错误
  • –upgrade=MINIMAL:Server启动时仅仅尝试执行数据字典的升级,其他的系统表、用户表等不会进行升级。这个选项和之前老的升级方式相同,必须再次使用mysql_upgrade 工具执行剩下的升级过程。然后需要再次重启Server。
  • –upgrade=FORCE:Server启动时强制执行升级过程。使用该选项启动时需要更长的时间检查所有的对象。
    image.png
    相关参考:https://www.cnblogs.com/binliubiao/p/14447084.html

总体思路一句话:做好备份,然后替换数据库目录直接启动即可。

简单的升级步骤如下:用root用户执行

1.停止mysql服务

service mysql stop

2.备份整个/mysql目录,包括/mysql/data

或者mv /mysql /mysql.30

3.将tar -xvf mysql-8.0.31-linux-glibc2.12-x86_64.tar.xz版本软件解压,替换原来的/mysql目录

mv /mysql-8.0.31-linux-glibc2.12-x86_64 /mysql

4.将/mysql.30/data目录拷贝到新/mysql下

mv /mysql.30/data /mysql
mkdir /mysql/log

5.赋目录属主权限

chown -R mysql.mysql /mysql

6.启动mysql

/etc/my.cnf配置文件无需改变
server mysql start
tail -f /mysql/data/mysql2.err
image.png
参考https://www.modb.pro/db/574998中查看mysql错误日志。

7.连接检查

[root@mysql2 data]# mysql -h 192.168.207.132 -P 3306 -u mysql -pabcd1234
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 8.0.31 MySQL Community Server - GPL

Copyright (c) 2000, 2022, 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> show variables like '%general%';
+------------------+------------------------+
| Variable_name    | Value                  |
+------------------+------------------------+
| general_log      | OFF                    |
| general_log_file | /mysql/data/mysql2.log |
+------------------+------------------------+
2 rows in set (0.01 sec)

mysql> SHOW VARIABLES LIKE 'log_error';
+---------------+--------------+
| Variable_name | Value        |
+---------------+--------------+
| log_error     | ./mysql2.err |
+---------------+--------------+
1 row in set (0.00 sec)

mysql> set @@global.general_log = 1;
Query OK, 0 rows affected (0.01 sec)

mysql> show variables like '%general%';
+------------------+------------------------+
| Variable_name    | Value                  |
+------------------+------------------------+
| general_log      | ON                     |
| general_log_file | /mysql/data/mysql2.log |
+------------------+------------------------+
2 rows in set (0.01 sec)

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论