我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL 5.7怎么升级到8.0

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySQL 5.7怎么升级到8.0

这篇文章主要讲解了“MySQL 5.7怎么升级到8.0”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL 5.7怎么升级到8.0”吧!

为什么升级到MySQL 8.0

  1.  基于安全考虑

  2.  基于性能和 稳定性考虑:

  3.  mgr复制 ,并行复制writeset 等功能,性能提升

  4.  新的功能:

  5.  Hash join ,窗口函数,DDL即时,json 支持

  6.  原始环境中版本太多,统一版本

  7.  8.0版本基本已到稳定期,可以大量投入生产环境中

升级之前需要了解

  1.     数据库字典升级

  schema,mysql,information_schema,performance_schema,sys

  比如:密码测试 mysql_native_password → caching_sha2_password

    2.  关键词是不是兼容

  https://dev.mysql.com/doc/refman/8.0/en/keywords.html

  关键词 added in查询

    3.  SQL是不是兼容

  Group by处理上的不兼容,触发器,存储过程

  5.6 可以跑select id,count(*)from group by name;

  5.7,8.0是不是允许的 sql_mode控制

    4.  数据文件存储格式是不是可以直接升级

  Perconal 和 mysql 存储引擎一直,可以完全兼容

    5.  现有应用的兼容性是否满足

  自定义函数,一些不规范的SQL语句等等

    6.  密码策略

What Is New in MySQL 8.0

作为DBA需要基本了解8.0的一些功能

  •  Added in 添加功能

  •  Features Deprecated 弃用功能

  •  Features Removed 移除功能

MySQL 5.7怎么升级到8.0

MySQL 5.7怎么升级到8.0

MySQL 5.7怎么升级到8.0

升级准备事项

已经了解8.0的特性,应对升级需要事先进行验证和准备工作

  1.  测试库升级,应用验证

  2.  数据库升级,末知问题发生

  3.  my.cnf配置信息调整

  4.  不兼容的操作方法,影响复制

  5.  一个平稳的过滤,列如先升级一个从库,到所有从库

  6.  最少停机时间,同样生产数据恢复到环境,进行模拟升级,评估时间

  7.  怎样进行数据验证:行数,表的数量 等等

  8.  考虑回滚方案

  9.  数据库备份

升级前检查

Mysql8.0还是提供了很多方便,不像之前一样5.6升级5.7那样。现在可以通过mysql shell进行确认。

下面2种方式

#mysqlsh root:123456@192.168.244.130:3410 -e 'util.checkForServerUpgrade({"targetVersion":"8.0.19","configPath":"/etc/my3410.cnf"})';  MySQL  JS > util.checkForServerUpgrade('root@192.168.244.130:3410', {"password":"123456", "targetVersion":"8.0.11", "configPath":"/etc/my3410.cnf"})

MySQL 5.7怎么升级到8.0

MySQL 5.7怎么升级到8.0

MySQL 5.7怎么升级到8.0

按照提示的要求进行更改

MySQL 5.7怎么升级到8.0

虽然shell做的很好,但还是存在一些缺陷。

比如以下内容都不会存在提示:

1. basedir,

2. sql_mode ,

3. 半同步配置,

4. 密码策略:default_authentication_plugin = mysql_native_password

开始升级

官网下载对应的tar包

https://downloads.mysql.com/archives/community/

下面是单机升级,高可用架构下 需要先升级从库,在逐步升级主库。

执行mysql_upgrade命令,会提示如下:

#/mysql8.0.19/bin/mysql_upgrade -uroot -p123456

MySQL 5.7怎么升级到8.0

在MySQL 8中mysql_upgrade客户端现已弃用。升级客户端执行的操作现在由服务器完成。

要升级,请使用较旧的数据目录启动新的 MySQL 二进制文件。自动修复用户表。升级后不需要重新启动。

所以必须在测试环境模拟准备对应SQL语句

正确操作如下:

1)登录服务器进行正常关闭:innodb_fast_shutdown是默认是1,常常认为是安全关闭

关闭innodb参数确认

mysql> show variables like 'innodb_fast_shutdown';+----------------------+-------+| Variable_name        | Value |+----------------------+-------+| innodb_fast_shutdown | 1     |+----------------------+-------+1 row in set (0.00 sec)

确保数据都刷到硬盘上,更改成0

mysql> set global innodb_fast_shutdown=0;Query OK, 0 rows affected (0.01 sec)  mysql> shutdown;Query OK, 0 rows affected (0.00 sec)  *进行备份。

2)用mysql8.0.19客户端直接启动

启动mysql服务

[root@ss30 bin]# /opt/mysql8.0.19/bin/mysqld_safe --defaults-file=/etc/my3400.cnf --user=mysql &  [1] 15400  [root@ss30 bin]# 2020-04-25T13:07:16.591560Z mysqld_safe Logging to '/opt/data3400/logs/error.log'.  2020-04-25T13:07:16.636879Z mysqld_safe Starting mysqld daemon with databases from /opt/data3400/mysql  ##打开另一个窗口查看error日志  [root@ss30 ~]# tail -f /opt/data3400/logs/mysql_error.log

登录服务器确认

[root@ss30 ~]# mysql -uroot -p -S /opt/data3400/mysql/mysql.sockEnter password:Welcome to the MySQL monitor.  Commands end with ; or \g.Your MySQL connection id is 10Server version: 8.0.19 MySQL Community Server - GPLCopyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> select version();+-----------+| version() |+-----------+| 8.0.19    |+-----------+1 row in set (0.01 sec)

无myisam引擎

mysql> SELECT table_schema,table_name,engine FROM information_schema.tables where engine!='InnoDB';

剩下的就是验证 和 业务确认否应用正常。

感谢各位的阅读,以上就是“MySQL 5.7怎么升级到8.0”的内容了,经过本文的学习后,相信大家对MySQL 5.7怎么升级到8.0这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL 5.7怎么升级到8.0

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL使用命令行怎么从5.5升级到8.0

本篇内容介绍了“MySQL使用命令行怎么从5.5升级到8.0”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!我用的数据库编辑软件是sqlyog
2023-07-05

MySQL如何从5.5升级到8.0(使用命令行升级)

目录准备1、下载要安装的mysql版本2、配置环境变量3、添加配置文件安装1、卸载MySQL5.52、安装新的MySQL8.0总结谁没事想重装数据库啊学到了数据库原理,实验作业里面有新建角色的SQL语句,但是我打上去运行就给我报错了,本来
2023-03-06

suse11 openssh如何升级到8.0

suse11 openssh如何升级到8.0,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。SUSE 11 升级Opensshopenssh 官网下载地址:http://ww
2023-06-05

MySQL驱动mysql-connector-java升级到8.0.X版本问题怎么解决

这篇文章主要讲解了“MySQL驱动mysql-connector-java升级到8.0.X版本问题怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL驱动mysql-connec
2023-03-01

技术分享 | 如何优雅地在 Windows 上从 MySQL 5.6 升级到 5.7

作者:赵黎明爱可生 MySQL DBA 团队成员,Oracle 10g OCM,MySQL 5.7 OCP,擅长数据库性能问题诊断、事务与锁问题的分析等,负责处理客户 MySQL 及我司自研 DMP 平台日常运维中的问题,对开源数据库相关技术非常感兴趣。本文来
技术分享 | 如何优雅地在 Windows 上从 MySQL 5.6 升级到 5.7
2014-11-12

编程热搜

目录