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

mysql 5.7版本升级到mysql 8.0版本

原创 Shubing Wu 2022-09-15
7703

升级版本支持:
支持从MySQL 5.7升级到MySQL 8.0。但是,升级只支持在通用可用性(General Availability, GA)版本之间进行。
对于MySQL 8.0,需要从MySQL 5.7 GA版本(5.7.9或更高版本)升级

升级内容:
1、数据字典表,存储数据库对象元数据
2、系统表
3、用户:Performance Schema、INFORMATION_SCHEMA、ndbinfo和sys Schema

升级过程:
1、数据字典升级
2、服务升级
数据字典升级(第1步)由服务器负责,它在启动时根据需要执行此任务,除非使用阻止它这样做的选项调用。选项是——upgrade=NONE,--no-dd-upgrade prior to MySQL 8.0.16
在MySQL 8.0.16中,第2步的职责发生了一些变化
在MySQL 8.0.16之前,mysql_upgrade升级了Performance Schema、INFORMATION_SCHEMA和步骤2中描述的对象。DBA需要在启动服务器后手动调用mysql_upgrade
从MySQL 8.0.16开始,服务器执行以前由mysql_upgrade处理的所有任务。虽然升级仍然是两步操作,但服务器会同时执行这两步操作,从而使过程更简单。

mysql 5.7升级到8.0.16之后的版本步骤:
1、使用二进制包安装好mysql8.0的软件
2、关闭mysql 5.7的服务,并将数据文件目录整体迁移到mysql8.0的数据目录下
3、备份5.7下的redo日志文件:mv ib_logfile0 ib_logfile0.bak
4、启动mysql8.0数据库即可

启动mysql 8.0数据库服务后日志,从日志中可以看到升级的过程:

2022-09-15T09:08:43.401836+08:00 1 [Note] [MY-012922] [InnoDB] Waiting for purge to start
2022-09-15T09:08:43.475610+08:00 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2022-09-15T09:08:43.482268+08:00 1 [Note] [MY-011088] [Server] Data dictionary initializing version '80023'.    ---初始化数据字典
2022-09-15T09:08:45.753640+08:00 1 [Note] [MY-010337] [Server] Created Data Dictionary for upgrade               ---升级数据字典
2022-09-15T09:08:45.868544+08:00 0 [Note] [MY-011332] [Server] Plugin mysqlx reported: 'IPv6 is available'
2022-09-15T09:08:45.874700+08:00 0 [Note] [MY-011323] [Server] Plugin mysqlx reported: 'X Plugin ready for connections. bind-address: '::' port: 33060'
2022-09-15T09:08:45.874780+08:00 0 [Note] [MY-011323] [Server] Plugin mysqlx reported: 'X Plugin ready for connections. socket: '/tmp/mysqlx.sock''
2022-09-15T09:08:45.874994+08:00 0 [Warning] [MY-010918] [Repl] 'rpl_semi_sync_master' is deprecated and will be removed in a future release. Please use rpl_semi_sync_source instead.
2022-09-15T09:08:45.875115+08:00 0 [Warning] [MY-010918] [Repl] 'rpl_semi_sync_slave' is deprecated and will be removed in a future release. Please use rpl_semi_sync_replica instead.
2022-09-15T09:08:52.312442+08:00 2 [System] [MY-011003] [Server] Finished populating Data Dictionary tables with data.
2022-09-15T09:08:52.322544+08:00 2 [Note] [MY-011008] [Server] Finished migrating TABLE statistics data.
2022-09-15T09:08:52.334284+08:00 2 [Note] [MY-011008] [Server] Finished migrating TABLE statistics data.
2022-09-15T09:08:55.531858+08:00 2 [Note] [MY-010006] [Server] Using data dictionary with version '80023'.
2022-09-15T09:08:57.306678+08:00 5 [System] [MY-013381] [Server] Server upgrade from '50700' to '80028' started.   ---数据字典升级完成
2022-09-15T09:08:57.308585+08:00 5 [Note] [MY-013386] [Server] Running queries to upgrade MySQL server. -           --升级mysql服务
2022-09-15T09:09:18.579819+08:00 5 [Note] [MY-013387] [Server] Upgrading system table data.

2022-09-15T09:09:19.421791+08:00 5 [Note] [MY-013385] [Server] Upgrading the sys schema.               --- 升级schema对象
2022-09-15T09:09:21.952039+08:00 5 [Note] [MY-013400] [Server] Upgrade of help tables started.
2022-09-15T09:09:22.386636+08:00 5 [Note] [MY-013400] [Server] Upgrade of help tables completed.
2022-09-15T09:09:22.387007+08:00 5 [Note] [MY-013394] [Server] Checking 'mysql' schema.
2022-09-15T09:09:22.819068+08:00 5 [Note] [MY-013394] [Server] Checking 'sys' schema.
2022-09-15T09:09:22.865404+08:00 5 [Note] [MY-013394] [Server] Checking 'test' schema.
2022-09-15T09:09:22.939805+08:00 5 [System] [MY-013381] [Server] Server upgrade from '50700' to '80028' completed.    ---已完成5.7到8.0.28的版本升级
2022-09-15T09:09:23.143647+08:00 0 [Note] [MY-012487] [InnoDB] DDL log recovery : begin
2022-09-15T09:09:23.143954+08:00 0 [Note] [MY-012488] [InnoDB] DDL log recovery : end
.............................
...............................
2022-09-15T09:09:23.255665+08:00 0 [Note] [MY-011242] [Server] Plugin mysqlx reported: 'Neither MySQL Server nor Mysqlx Plugin has valid SSL configuration'
2022-09-15T09:09:23.256314+08:00 0 [Warning] [MY-011302] [Server] Plugin mysqlx reported: 'Failed at SSL configuration: "SSL context is not usable without certificate and private key"'
2022-09-15T09:09:23.256358+08:00 0 [Note] [MY-011244] [Server] Plugin mysqlx reported: 'For more information, please see the Using Secure Connections with X Plugin section in the MySQL documentation'
2022-09-15T09:09:23.256554+08:00 0 [System] [MY-010931] [Server] /u01/mysql/database/bin/mysqld: ready for connections. Version: '8.0.28' socket: '/u01/mysql/datafile/mysql3306/tmp/mysql.sock' port: 3306 MySQL Community Server - GPL.              ----数据库服务已经启动
2022-09-15T09:09:23.256592+08:00 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060, socket: /tmp/mysqlx.sock

至此数据库升级已完成,因此建议升级版本选择MySQL 8.0.16以后的版本,升级基本上是数据库自己完成的,相对简单了许多。

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

评论