zoukankan      html  css  js  c++  java
  • MySQL 5.6升级到MySQL 5.7都有什么注意事项?

    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、做好相应的回退方案。
  • 相关阅读:
    MyCat 概念与配置
    使用zookeeper管理远程MyCat配置文件、MyCat监控、MyCat数据迁移(扩容)
    数据库分库分表中间件MyCat的安装和mycat配置详解
    搭建dubbo+zookeeper+dubboadmin分布式服务框架(windows平台下)
    数据库分库分表的类型和特点
    数据库为什么要分库分表
    正确安装MySQL5.7 解压缩版(手动配置)方法
    SQL 查询相同记录下日期最大的一条数据
    HashMap在Jdk1.7和1.8中的实现
    Spring Bean的生命周期
  • 原文地址:https://www.cnblogs.com/zhouwanchun/p/13141682.html
Copyright © 2011-2022 走看看