通过yum:mysql5.6-msyql5.7-mysql8.0升级之路
一 前言
mysql的yum源
https://dev.mysql.com/downloads/repo/yum/
https://dev.mysql.com/get/mysq57-community-release-el7-7.noarch.rpm
服务器信息
2c2g40GB
[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
[root@localhost ~]# uname -a
Linux bogon 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
二 安装mysql5.6
1 卸载mysql,mariadb
[root@localhost ~]# rpm -qa|grep -i mariadb
mariadb-libs-5.5.68-1.el7.x86_64
mariadb-devel-5.5.68-1.el7.x86_64
[root@localhost ~]# rpm -qa | grep mysql
[root@localhost ~]# rpm -qa|grep mariadb|xargs rpm -e --nodeps
2查看mysql可用的下载
[root@localhost ~]# yum repolist all | grep mysql
mysql-connectors-community/x86_64 MySQL Connectors Community 启用: 178
mysql-connectors-community-source MySQL Connectors Community - Sour 禁用
mysql-tools-community/x86_64 MySQL Tools Community 启用: 83
mysql-tools-community-source MySQL Tools Community - Source 禁用
mysql55-community/x86_64 MySQL 5.5 Community Server 禁用
mysql55-community-source MySQL 5.5 Community Server - Sour 禁用
mysql56-community/x86_64 MySQL 5.6 Community Server 启用: 644
mysql56-community-source MySQL 5.6 Community Server - Sour 禁用
mysql57-community-dmr/x86_64 MySQL 5.7 Community Server Develo 禁用
mysql57-community-dmr-source MySQL 5.7 Community Server Develo 禁用
3指定版本安装
#命令包
yum -y install yum-utils 禁用 mysql8.0:
yum-config-manager --disable mysql80-community启用mysql 5.6
yum-config-manager --enable mysql56-community
4安装
[root@localhost ~]# yum install mysql-server[root@localhost tmp]# rpm -qa | grep mysql
mysql-community-server-5.6.51-2.el6.x86_64
mysql80-community-release-el7-7.noarch
mysql-community-client-5.6.51-2.el6.x86_64
mysql-community-libs-5.6.51-2.el6.x86_64
mysql-community-common-5.6.51-2.el6.x86_64
5my.cnf的配置,尽量环境一致,字符集必须指定,在实际环境中mysql8.0字符集也被改了(utf-8)
[root@localhost ~]# cat /etc/my.cnf
#For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
[mysqld]
collation-server=utf8_general_ci
character-set-server=utf8
#max_connections =1000
#default-storage-engine=MYISAM
#default-tmp-storage-engine=MYISAM#AFETY #
max-allowed-packet = 16M
max-connect-errors = 1000
lower_case_table_names = 1
# INNODB #
innodb-flush-method = O_DIRECT
innodb-log-files-in-group = 2
innodb-log-file-size = 64M
innodb-flush-log-at-trx-commit = 1
innodb-file-per-table = 1
innodb-buffer-pool-size = 150M
max-allowed-packet = 16M
max-connect-errors = 1000
lower_case_table_names = 1
# # CACHES AND LIMITS #
tmp-table-size = 32M
max-heap-table-size = 32M
query-cache-type = 0
query-cache-size = 0
max-connections = 1000
thread-cache-size = 50
open-files-limit = 1024
performance_schema_max_table_instances= 600
table-definition-cache = 512
table-open-cache = 256# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
#bind=127.0.0.1
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0# Recommended in standard MySQL setup
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES [mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[client]
default-character-set=utf8
更新root密码,授权登录
[root@localhost ~]# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.6.51 MySQL Community Server (GPL)Copyright (c) 2000, 2021, Oracle and/or its affiliates. All rights reserved.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> set password for root@localhost = password('a^X1wIKwskU0D6Li');
Query OK, 0 rows affected (0.00 sec)mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)mysql> grant all privileges on *.* to'root'@'localhost' identified by 'a^X1wIKwskU0D6Li';
Query OK, 0 rows affected (0.00 sec)mysql> grant all privileges on *.* to'root'@'127.0.0.1' identified by 'a^X1wIKwskU0D6Li';
Query OK, 0 rows affected (0.00 sec)mysql> grant all privileges on *.* to'root'@'192.168.56.%' identified by 'a^X1wIKwskU0D6Li';
Query OK, 0 rows affected (0.00 sec)mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
6 导入数据
三 从mysql5.6升级到mysql5.7
1 备份所有库,配置文件
备份的时候直接复制mysql数据存储目录(/var/lib/mysql),当然配置文件也是需要备份的,备份了旧的数据存储目录后,如果在升级时失败,好回滚
[root@bogon ~]# cp /etc/my.cnf /etc/my.cnf_20230602
[root@bogon ~]# mysqldump -uroot -p'a^X1wIKwskU0D6Li' --set-gtid-purged=OFF --all-databases > /opt/mysqlbackup_20230602.bak
Warning: Using a password on the command line interface can be insecure.
[root@bogon ~]# du -sh /opt/mysqlbackup_20230602.bak
64M /opt/mysqlbackup_20230602.bak
#或者
[root@bogon ~]# cp -r /var/lib/mysql /var/lib/mysql_20230602
2.停止mysql服务
1通过与数据库的交互页面关闭,确保数据最大写入磁盘
[root@bogon ~]# mysql -u root -p'a^X1wIKwskU0D6Li'
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 2
Server version: 5.6.51 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>
mysql>
mysql> select version();
+-----------+
| version() |
+-----------+
| 5.6.51 |
+-----------+
1 row in set (0.01 sec)mysql> show variables like 'innodb_fast_shutdown';
+----------------------+-------+
| Variable_name | Value |
+----------------------+-------+
| innodb_fast_shutdown | 1 |
+----------------------+-------+
1 row in set (0.01 sec)#确保数据都刷到硬盘上,更改成0
mysql> set global innodb_fast_shutdown=0;
Query OK, 0 rows affected (0.00 sec)mysql> shutdown;
Query OK, 0 rows affected (0.00 sec)mysql>
mysql>
mysql>
mysql> exit
Bye
[root@bogon ~]# netstat -lnpt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 998/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1186/master
tcp6 0 0 :::22 :::* LISTEN 998/sshd
tcp6 0 0 ::1:25 :::* LISTEN 1186/master
innodb_fast_shutdown
使用场景:在做数据库关闭升级的时候 set global innodb_fast_shutdown=0,这个时候能最大保障数据的完整性。
设置为1:关闭MySQL的时候不会做清除脏页和插入缓冲区的合并操作,也不会将脏页刷新到磁盘
设置为0:会做清除脏页和插入缓冲区的合并操作,也会将脏页全部刷新到磁盘上面去,但是这个时候关闭的速度也是最慢的
设置为2:不会做清除脏页和插入缓冲区的合并操作,也不会将脏页刷新到磁盘,但是会刷新到redo log里面,再下次启动mysql的时候恢复
2直接关闭
systemctl stop mysqld
[root@bogon ~]# netstat -lnpt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 998/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1186/master
tcp6 0 0 :::22 :::* LISTEN 998/sshd
tcp6 0 0 ::1:25 :::* LISTEN 1186/master
3开启mysql5.7版本
[root@bogon ~]# yum-config-manager --disable mysql56-community
[root@bogon ~]# yum-config-manager --enable mysql57-community
上述命令修改失败
yum 源的问题 ,删除旧的源,安装新的源即可
https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpmrpm -h mysql80-community-release-el7-7.noarch.rpm[root@bogon ~]# yum repolist all | grep mysql
mysql-cluster-7.5-community/x86_64 MySQL Cluster 7.5 Comm 禁用
mysql-cluster-7.5-community-source MySQL Cluster 7.5 Comm 禁用
mysql-cluster-7.6-community/x86_64 MySQL Cluster 7.6 Comm 禁用
mysql-cluster-7.6-community-source MySQL Cluster 7.6 Comm 禁用
mysql-cluster-8.0-community/x86_64 MySQL Cluster 8.0 Comm 禁用
mysql-cluster-8.0-community-debuginfo/x86_64 MySQL Cluster 8.0 Comm 禁用
mysql-cluster-8.0-community-source MySQL Cluster 8.0 Comm 禁用
mysql-connectors-community/x86_64 MySQL Connectors Commu 启用: 178
mysql-connectors-community-debuginfo/x86_64 MySQL Connectors Commu 禁用
mysql-connectors-community-source MySQL Connectors Commu 禁用
mysql-tools-community/x86_64 MySQL Tools Community 启用: 83
mysql-tools-community-debuginfo/x86_64 MySQL Tools Community 禁用
mysql-tools-community-source MySQL Tools Community 禁用
mysql-tools-preview/x86_64 MySQL Tools Preview 禁用
mysql-tools-preview-source MySQL Tools Preview - 禁用
mysql57-community/x86_64 MySQL 5.7 Community Se 禁用
mysql57-community-source MySQL 5.7 Community Se 禁用
mysql80-community/x86_64 MySQL 8.0 Community Se 启用: 405
mysql80-community-debuginfo/x86_64 MySQL 8.0 Community Se 禁用
mysql80-community-source MySQL 8.0 Community Se 禁用
[root@bogon ~]# yum-config-manager --disable mysql80-community[root@bogon ~]# yum-config-manager --enable mysql5-community[root@bogon ~]# yum-config-manager --enable mysql57-community[root@bogon ~]# yum repolist all | grep mysql
mysql-cluster-7.5-community/x86_64 MySQL Cluster 7.5 Comm 禁用
mysql-cluster-7.5-community-source MySQL Cluster 7.5 Comm 禁用
mysql-cluster-7.6-community/x86_64 MySQL Cluster 7.6 Comm 禁用
mysql-cluster-7.6-community-source MySQL Cluster 7.6 Comm 禁用
mysql-cluster-8.0-community/x86_64 MySQL Cluster 8.0 Comm 禁用
mysql-cluster-8.0-community-debuginfo/x86_64 MySQL Cluster 8.0 Comm 禁用
mysql-cluster-8.0-community-source MySQL Cluster 8.0 Comm 禁用
mysql-connectors-community/x86_64 MySQL Connectors Commu 启用: 220
mysql-connectors-community-debuginfo/x86_64 MySQL Connectors Commu 禁用
mysql-connectors-community-source MySQL Connectors Commu 禁用
mysql-tools-community/x86_64 MySQL Tools Community 启用: 98
mysql-tools-community-debuginfo/x86_64 MySQL Tools Community 禁用
mysql-tools-community-source MySQL Tools Community 禁用
mysql-tools-preview/x86_64 MySQL Tools Preview 禁用
mysql-tools-preview-source MySQL Tools Preview - 禁用
mysql57-community/x86_64 MySQL 5.7 Community Se 启用: 660
mysql57-community-source MySQL 5.7 Community Se 禁用
mysql80-community/x86_64 MySQL 8.0 Community Se 禁用
mysql80-community-debuginfo/x86_64 MySQL 8.0 Community Se 禁用
mysql80-community-source MySQL 8.0 Community Se 禁用
[root@bogon ~]#
4.升级mysql
yum update mysql-server
[root@bogon ~]# mysql -V
mysql Ver 14.14 Distrib 5.7.42, for Linux (x86_64) using EditLine wrapper
[root@bogon ~]# systemctl start mysqld
[root@bogon ~]# netstat -lnpt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 998/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1186/master
tcp6 0 0 :::3306 :::* LISTEN 5743/mysqld
tcp6 0 0 :::22 :::* LISTEN 998/sshd
tcp6 0 0 ::1:25 :::* LISTEN 1186/master
5 更新数据库权限,并再次重新启动
[root@bogon ~]# mysql_upgrade -u root -p'a^X1wIKwskU0D6Li' --force
mysql_upgrade: [Warning] Using a password on the command line interface can be insecure.
Checking server version.
Running queries to upgrade MySQL server.
Checking system database[root@bogon ~]# systemctl restart mysqld
四 从mysql5.7升级到mysql8.0
1修改my.cnf
[root@bogon ~]# mysql -V
mysql Ver 14.14 Distrib 5.7.42, for Linux (x86_64) using EditLine wrapper
[root@bogon ~]# vim /etc/my.cnf
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
2备份数据
备份的时候直接复制mysql数据存储目录(/var/lib/mysql),当然配置文件也是需要备份的,备份了旧的数据存储目录后,如果在升级时失败,好回滚
[root@bogon ~]# cp /etc/my.cnf /etc/my.cnf_20230602
[root@bogon ~]# mysqldump -uroot -p'a^X1wIKwskU0D6Li' --set-gtid-purged=OFF --all-databases > /opt/mysqlbackup_20230602.bak
Warning: Using a password on the command line interface can be insecure.
[root@bogon ~]# du -sh /opt/mysqlbackup_20230602.bak
64M /opt/mysqlbackup_20230602.bak
#或者
[root@bogon ~]# cp -r /var/lib/mysql /var/lib/mysql_20230602
3 确保数据最大写入磁盘
[root@bogon ~]# mysql -u root -p'a^X1wIKwskU0D6Li'
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 2
Server version: 5.7.42 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>
mysql>
mysql> select version();
+-----------+
| version() |
+-----------+
| 5.7.42 |
+-----------+
1 row in set (0.01 sec)mysql> show variables like 'innodb_fast_shutdown';
+----------------------+-------+
| Variable_name | Value |
+----------------------+-------+
| innodb_fast_shutdown | 1 |
+----------------------+-------+
1 row in set (0.01 sec)#确保数据都刷到硬盘上,更改成0
mysql> set global innodb_fast_shutdown=0;
Query OK, 0 rows affected (0.00 sec)mysql> shutdown;
Query OK, 0 rows affected (0.00 sec)mysql>
mysql>
mysql>
mysql> exit
Bye
#mysql数据库已经停止
[root@bogon ~]# netstat -lnpt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 998/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1186/master
tcp6 0 0 :::22 :::* LISTEN 998/sshd
tcp6 0 0 ::1:25 :::* LISTEN 1186/master
innodb_fast_shutdown
使用场景:在做数据库关闭升级的时候 set global innodb_fast_shutdown=0,这个时候能最大保障数据的完整性。
设置为1:关闭MySQL的时候不会做清除脏页和插入缓冲区的合并操作,也不会将脏页刷新到磁盘
设置为0:会做清除脏页和插入缓冲区的合并操作,也会将脏页全部刷新到磁盘上面去,但是这个时候关闭的速度也是最慢的
设置为2:不会做清除脏页和插入缓冲区的合并操作,也不会将脏页刷新到磁盘,但是会刷新到redo log里面,再下次启动mysql的时候恢复
4 开启mysql8.0安装
[root@bogon ~]# yum-config-manager --disable mysql57-community
[root@bogon ~]# yum-config-manager --enable mysql80-community
[root@bogon ~]# yum repolist all | grep mysql
mysql-cluster-7.5-community/x86_64 MySQL Cluster 7.5 Comm 禁用
mysql-cluster-7.5-community-source MySQL Cluster 7.5 Comm 禁用
mysql-cluster-7.6-community/x86_64 MySQL Cluster 7.6 Comm 禁用
mysql-cluster-7.6-community-source MySQL Cluster 7.6 Comm 禁用
mysql-cluster-8.0-community/x86_64 MySQL Cluster 8.0 Comm 禁用
mysql-cluster-8.0-community-debuginfo/x86_64 MySQL Cluster 8.0 Comm 禁用
mysql-cluster-8.0-community-source MySQL Cluster 8.0 Comm 禁用
mysql-connectors-community/x86_64 MySQL Connectors Commu 启用: 220
mysql-connectors-community-debuginfo/x86_64 MySQL Connectors Commu 禁用
mysql-connectors-community-source MySQL Connectors Commu 禁用
mysql-tools-community/x86_64 MySQL Tools Community 启用: 98
mysql-tools-community-debuginfo/x86_64 MySQL Tools Community 禁用
mysql-tools-community-source MySQL Tools Community 禁用
mysql-tools-preview/x86_64 MySQL Tools Preview 禁用
mysql-tools-preview-source MySQL Tools Preview - 禁用
mysql57-community/x86_64 MySQL 5.7 Community Se 禁用
mysql57-community-source MySQL 5.7 Community Se 禁用
mysql80-community/x86_64 MySQL 8.0 Community Se 启用: 405
mysql80-community-debuginfo/x86_64 MySQL 8.0 Community Se 禁用
mysql80-community-source MySQL 8.0 Community Se 禁用
5 开始升级
yum update mysql-server
1 错误1:启动失败
[root@bogon ~]# mysql -V
mysql Ver 8.0.33 for Linux on x86_64 (MySQL Community Server - GPL)
[root@bogon ~]# systemctl start mysqld
Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.[root@bogon ~]# tail -F /var/log/messages
Jun 2 13:59:14 localhost mysqld: 2023-06-02T05:59:14.630091Z 5 [System] [MY-013381] [Server] Server upgrade from '50700' to '80033' completed.
Jun 2 13:59:14 localhost mysqld: 2023-06-02T05:59:14.770369Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
Jun 2 13:59:14 localhost mysqld: 2023-06-02T05:59:14.770416Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
Jun 2 13:59:14 localhost mysqld: 2023-06-02T05:59:14.775298Z 0 [ERROR] [MY-000067] [Server] unknown variable 'query-cache-type=0'.
Jun 2 13:59:14 localhost mysqld: 2023-06-02T05:59:14.775400Z 0 [ERROR] [MY-010119] [Server] Aborting
Jun 2 13:59:19 localhost mysqld: 2023-06-02T05:59:19.405507Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.33) MySQL Community Server - GPL.
Jun 2 13:59:19 localhost systemd: mysqld.service: main process exited, code=exited, status=1/FAILURE
Jun 2 13:59:19 localhost systemd: Failed to start MySQL Server.
Jun 2 13:59:19 localhost systemd: Unit mysqld.service entered failed state.
Jun 2 13:59:19 localhost systemd: mysqld.service failed.
MySQL8.0取消查询缓存,MySQL8.0新增加了对性能干预的工具,例如,现在可以利用查询重写插件,在不更改应用程序的同时,插入优化器提示语句。另外,还有像ProxySQL这样的第三方工具,它们可以充当中间缓存。
2 :错误1处理:修改配置文件吧
关闭下面俩个参数
vim /etc/my.cnf
#query-cache-type = 0
#query-cache-size = 0
[root@bogon ~]# netstat -lnpt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 998/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1186/master
tcp6 0 0 :::33060 :::* LISTEN 6614/mysqld
tcp6 0 0 :::3306 :::* LISTEN 6614/mysqld
tcp6 0 0 :::22 :::* LISTEN 998/sshd
tcp6 0 0 ::1:25 :::* LISTEN 1186/master
启动了2个端口3306 33306,并且日志输出到系统日志中
6 更新数据库权限,并再次重新启动
1升级表权限的时候发现已经被弃用了
[root@bogon ~]# mysql_upgrade -u root -p'a^X1wIKwskU0D6Li' --force
mysql_upgrade: [Warning] Using a password on the command line interface can be insecure.
The mysql_upgrade client is now deprecated. The actions executed by the upgrade client are now done by the server.
To upgrade, please start the new MySQL binary with the older data directory. Repairing user tables is done automatically. Restart is not required after upgrade.
The upgrade process automatically starts on running a new MySQL binary with an older data directory. To avoid accidental upgrades, please use the --upgrade=NONE option with the MySQL binary. The option --upgrade=FORCE is also provided to run the server upgrade sequence on demand.
It may be possible that the server upgrade fails due to a number of reasons. In that case, the upgrade sequence will run again during the next MySQL server start. If the server upgrade fails repeatedly, the server can be started with the --upgrade=MINIMAL option to start the server without executing the upgrade sequence, thus allowing users to manually rectify the problem.
2 数据库中查看版本
[root@bogon ~]# mysql -u root -p'a^X1wIKwskU0D6Li'
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 8
Server version: 8.0.33 MySQL Community Server - GPLCopyright (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> select version();
+-----------+
| version() |
+-----------+
| 8.0.33 |
+-----------+
1 row in set (0.00 sec)mysql> show variables like 'innodb_fast_shutdown';
+----------------------+-------+
| Variable_name | Value |
+----------------------+-------+
| innodb_fast_shutdown | 1 |
+----------------------+-------+
1 row in set (0.04 sec)mysql> exit
Bye
7 其他问题 主要是字符集
参考看看
https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-1.html
1更新mysql的字符集为utf8mb4
[root@localhost ~]# vim /etc/my.cnf[mysqld]
character_set_server=utf8mb4
[client]
default-character-set=utf8mb4
改完重启就报错
2还是改回utf-8
[root@localhost ~]# vim /etc/my.cnf#character_set_server=utf8mb4
character-set-server=utf8
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION[client]
default-character-set=utf8
#default-character-set=utf8mb4
五 mysql-shell
下载地址
https://dev.mysql.com/downloads/shell/
https://dev.mysql.com/doc/mysql-shell/8.0/en/
配置yum源直接下载即可
[root@bogon ~]# rpm -qa | grep mysql
mysql-community-client-plugins-8.0.33-1.el7.x86_64
mysql-community-icu-data-files-8.0.33-1.el7.x86_64
mysql80-community-release-el7-7.noarch
mysql-community-common-8.0.33-1.el7.x86_64
mysql-community-libs-compat-5.7.42-1.el7.x86_64
mysql-community-client-8.0.33-1.el7.x86_64
mysql-community-server-8.0.33-1.el7.x86_64
mysql-community-libs-8.0.33-1.el7.x86_64
[root@bogon ~]# yum install mysql-shell-8.0.33
注意事项
https://www.cnblogs.com/zhouwanchun/p/13141682.html
MySQL 5.6升级到MySQL 5.7都有什么注意事项?一、升级方式
MySQL升级的方式一般来说有两种
1、通过inplace方式原地升级,升级系统表
2、通过新建实例,高版本作为低版本的从库进行滚动升级MySQL5.7版本做了非常多的改变,升级5.6到5.7时需要考虑兼容性,避免升级到5.7之后因为种种参数设置不正确导致业务受影响,建议首先逐一查看release note二、需要注意的参数及问题:
1、sql_mode:MySQL 5.7采用严格模式,例如ONLY_FULL_GROUP_BY等
2、innodb_status_output_locks:MySQL 5.7支持将死锁信息打印到error log(其实这个参数MySQL 5.6就已支持)
3、innodb_page_cleaners:MySQL 5.7将脏页刷新线程从master线程独立出来了,对应参数为innodb_page_cleaners
4、innodb_strict_mode:控制CREATE TABLE, ALTER TABLE, CREATE INDEX, 和 OPTIMIZE TABLE的语法问题
5、show_compatibility_56=ON:控制show变量及状态信息输出,如果未开启show status 命令无法获取Slave_xxx 的状态
6、log_timestamps:控制error log/slow_log/genera log日志的显示时间,该参数可以设置为:UTC 和 SYSTEM,但是默认使用 UTC
7、disable_partition_engine_check:在表多的情况下可能导致启动非常慢
8、range_optimizer_max_mem_size:范围查询优化参数,这个参数限制范围查询优化使用的内存,默认8M
9、MySQL 5.7新增优化器选项derived_merge=on,可能导致SQL全表扫描,而在MySQL 5.6下可能表现为auto key
10、innodb_undo_directory && innodb_undo_logs:MySQL 5.7支持将undo从ibdata1独立出来(只支持实例初始化,不支持在线变更)
11、主从复制问题:MySQL5.7到小于5.6.22的复制存在bug(bug 74683)
12、SQL兼容性问题:SQL在MySQL 5.7和MySQL 5.6环境下结果可能不一致,因此建议获取线上SQL,在同样数据的环境下,在两个实例运行获取到的结果计算hash,比较hash值做兼容性判断三、友情提醒
1、升级前一定要做好备份!!!
2、升级正式环境前提前在测试环境进行仔细测试,确认无误以后再升级正式环境。
3、做好相应的回退方案。
相关文章:

通过yum:mysql5.6-msyql5.7-mysql8.0升级之路
一 前言 mysql的yum源 https://dev.mysql.com/downloads/repo/yum/ https://dev.mysql.com/get/mysq57-community-release-el7-7.noarch.rpm服务器信息 2c2g40GB [rootlocalhost ~]# cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core) [rootlocalhost ~]# una…...

C语言数据存储 — 整型篇
C语言数据存储 — 整型篇 前言1. 数据类型介绍1.1 类型的基本分类 2. 整型在内存中的存储2.1 原码、反码、补码2.1.1 为什么数据存放在内存中存放的是补码 2.2 大小端介绍2.2.1 什么是大小端?2.2.2 为什么有大端和小端?2.2.3 一道百度系统工程师笔试题 3…...
高级Excel功能教程_编程入门自学教程_菜鸟教程-免费教程分享
教程简介 Excel是办公室自动化中非常重要的一款软件,Excel函数则是Excel中的内置函数。Excel函数共包含11类,分别是数据库函数、日期与时间函数、工程函数、财务函数、信息函数、逻辑函数、查询和引用函数、数学和三角函数、统计函数、文本函数以及用户…...

ChatGPT会取代低代码开发平台吗?
编程作为一种高端技能,向来是高收入高科技的代名词。近期,伴随着ChatGPT在全球的爆火,过去通过窗口“拖拉拽”的所见即所得方式的低代码开发模式,在更加智能和更低成本的AI搅局之下,又面临了更深层次的影响。 低代码平…...
Linux :: 文件内容操作【5】:echo 指令 与 输入重定向、输出重定向、追加重定向在文件内容写入中的简单用法!
前言:本篇是 Linux 基本操作篇章的内容! 笔者使用的环境是基于腾讯云服务器:CentOS 7.6 64bit。 学习集: C 入门到入土!!!学习合集Linux 从命令到网络再到内核!学习合集 说明&#x…...
【RocketMQ】重试机制及死信消息处理
【RocketMQ】重试机制及死信消息处理 文章目录 【RocketMQ】重试机制及死信消息处理1. 重试机制1.1 生产者重试1.2 消费者重试1.2.1 死信队列 参考文档: 官方文档 1. 重试机制 1.1 生产者重试 rocketmq生产者发送消息失败默认重试2次(同步发送为2次,异…...

Mysql DDL执行方式-pt-osc介绍 | 京东云技术团队
1 引言 大家好,接着上次和大家一起学习了《MySQL DDL执行方式-Online DDL介绍》,那么今天接着和大家一起学习另一种MySQL DDL执行方式之pt-soc。 在MySQL使用过程中,根据业务的需求对表结构进行变更是个普遍的运维操作,这些称为…...

C++ stack容器介绍
🤔stack容器介绍: 📖 stack是一种数据结构,也可以被称为堆栈。它是一个容器,只允许在最顶层进行插入和删除,并且只能访问最后一个插入的元素。这个元素称为栈顶。所有新插入的元素都被放置在栈顶上面&#…...
在 Git 中撤消更改的 6 种方法!
目录 1. 修改最近的提交 2. 将分支重置为较旧的提交 硬重置 软重置分支 创建备份分支 3. 交互式变基 删除旧提交 改写提交消息 编辑旧提交 压缩 4. 还原提交 5. 签出文件 6. 使用 Git Reflog 当使用 Git 进行项目代码管理时,难免会出现一些错误操作或需…...

LiveGBS国标GB/T28181国标平台功能-电子地图移动位置订阅mobileposition地图定位GPS轨迹坐标位置获取redis获取位置
LiveGBS国标GB/T28181国标平台功能-电子地图移动位置订阅mobileposition地图定位GPS轨迹坐标位置获取redis获取位置 1、位置订阅1.1、国标设备编辑1.2、选择设备开启位置订阅1.3、全局开启位置订阅1.4、通过目录订阅获取位置(少数情况) 2、经纬度信息查询2.1、访问接口获取2.1.…...

编程(38)----------计算机的部分原理
本篇主要总结一些计算机的理论部分. 计算机在发展历程中,无论是最早的巨无霸机器,还是现在小到可以拿在手中的掌机.只要其本质上是计算机,在最基础的结构上,都是以冯诺依曼体系所构建的. 冯诺依曼体系大致将计算机分为几个最重要的部分:输入,输出,中央处理器,存储设备.也就是…...

若依框架快速搭建(二)
目录 数据库设计功能模块设计XXX信息管理xxx查询xxx添加xxx删除xxx修改xxx导出 功能模块实现运行数据库自动代码生成在IDEA中找到RuoYi-generator,修改配置运行前后端项目,在网页中找到代码生成模块导入表后点击确定,序号前打勾,再…...

为建筑物的供暖系统实施MPC控制器的小型项目(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
【概率论】中心极限定理(二)
文章目录 主观题主观题 每袋味精的净重为随机变量,平均重量为 100 克,标准差为 10 克。一箱内装 200 袋味精,求一箱味精的净重大于 20500 克的概率? 解: ① E ( X i ) = 100 , D ( X i ) = 1 0 2...

Blender UV展开流程
目录 1. UV1.1 blender默认物体1.2 创建物体1.3 UV参考图1.4 标记缝合边1.5 UV拉伸1.6 孤岛模式 1. UV 1.1 blender默认物体 默认物体已经自动生成UV 在UV编辑工作区,编辑模式,全选物体在左边自动展开UV 在物体数据属性-UV贴图-存在默认的UV贴图&#…...

Flutter 笔记 | Flutter 核心原理(二)关键类和启动流程
Widget、Element、BuildContext 和 RenderObject Widget Widget关键类及其子类继承关系如图所示: 其中,Widget是Widget Tree所有节点的基类。Widget的子类主要分为3类: 第1类是RenderObjectWidget的子类,具体来说又分为SingleCh…...
Android:主题切换
一.概述 正在开发的应用做了一版新UI,原打算将新版UI按项目名做成资源包,再在build.gradle里productFlavors{ }多渠道打包实现 但被告知新旧两个项目共用一个分支,那就做成两个主题(Theme1/Theme2)来适配了 如果只是变更UI,做成…...

terminalworks ASP.NET Core PDF 浏览器-Crack
ASP.NET Core 的 PDF 查看器 terminalworks在 ASP.NET Core 网页或应用程序中添加可靠的 PDF 查看器的简单方法。 我们的 Web PDF 查看器基于经过验证和测试的 Mozilla PdfJS 解决方案,该解决方案在 Firefox 中用作默认 PDF 查看器。我们专门设计了我们的查看器&…...

Rust每日一练(Leetday0020) 最后单词的长度、螺旋矩阵II、排列序列
目录 58. 最后一个单词的长度 Length of Last Word 🌟 59. 螺旋矩阵 II Spiral Matrix II 🌟🌟 60. 排列序列 Permutation Sequence 🌟🌟🌟 🌟 每日一练刷题专栏 🌟 Rust每日…...

短视频矩阵源码如何做应用编程?
短视频矩阵源码, 短视频矩阵系统技术文档: 可以采用电子文档或者纸质文档的形式交付,具体取决于需求方的要求。电子文档可以通过电子邮件、远程指导交付云存储等方式进行传输、 短视频矩阵{seo}源码是指将抖音平台上的视频资源进行筛选、排…...

idea大量爆红问题解决
问题描述 在学习和工作中,idea是程序员不可缺少的一个工具,但是突然在有些时候就会出现大量爆红的问题,发现无法跳转,无论是关机重启或者是替换root都无法解决 就是如上所展示的问题,但是程序依然可以启动。 问题解决…...

iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘
美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例
使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件,常用于在两个集合之间进行数据转移,如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model:绑定右侧列表的值&…...

关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案
问题描述:iview使用table 中type: "index",分页之后 ,索引还是从1开始,试过绑定后台返回数据的id, 这种方法可行,就是后台返回数据的每个页面id都不完全是按照从1开始的升序,因此百度了下,找到了…...
React Native在HarmonyOS 5.0阅读类应用开发中的实践
一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...

Keil 中设置 STM32 Flash 和 RAM 地址详解
文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...

(转)什么是DockerCompose?它有什么作用?
一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器。 Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...

在WSL2的Ubuntu镜像中安装Docker
Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包: for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...

九天毕昇深度学习平台 | 如何安装库?
pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子: 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...

热门Chrome扩展程序存在明文传输风险,用户隐私安全受威胁
赛门铁克威胁猎手团队最新报告披露,数款拥有数百万活跃用户的Chrome扩展程序正在通过未加密的HTTP连接静默泄露用户敏感数据,严重威胁用户隐私安全。 知名扩展程序存在明文传输风险 尽管宣称提供安全浏览、数据分析或便捷界面等功能,但SEMR…...