zoukankan      html  css  js  c++  java
  • 如何升级到MySQL8.0

    为什么要升级到MySQL8.0

    1. 基于安全考虑
    2. 基于性能和稳定性考虑
    3. 新的功能
    4. 原始环境中版本太多,统一版本

    升级检查需要做什么

    • 数据字典升级

    schema:mysql、 information_schema、 performance_schema、 sys

    • 关键词是不是兼容

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

    • SQL是不是兼容

    Group by 处理上的不兼容

    • 数据文件存储格式是不是可以直接升级
    • 担心有未知问题发生
    • 需要考虑回滚方案
    • 兼容老的配置
    • 不兼容的操作方法,影响复制(grant user)
    • 希望是一个平稳的过渡,例如先升级一个从库,到所有从库
    • 最少停机时间
    • 使用复制升级-->跨版本复制造成复制损坏
    • grant-->create user,grant / old_password
    • 更改用户权限 MySQL 8.0 只支持 alter user
    • flush query cache
    • Set @@global.sql_log_bin

    利用MySQL Shell做升级检查

    ./mysqlsh root@127.0.0.1:3311 -e "util.checkForServerUpgrade();"
    

    升级到MySQL8.0的正确步骤

    8.0以前正常升级步骤
    1. 关闭MySQL
    2. 备份原来MySQL的datadir
    3. 更改MySQL server版本
    4. 备份my.cnf并做兼容8.0处理
    5. 启动MySQL(--skip-grant-tables)
    6. 运行mysql_upgrade
    7. 重启MySQL
    MySQL 8.0升级流程
    1. 关闭MySQL
    2. 备份原来MySQL的datadir
    3. 更改MySQL server版本
    4. 备份my.cnf并做兼容8.0处理
    5. 启动MySQL(自动升级)

    新的选型 --upgrade

    • --upgrade = AUTO 默认,自动升级可以处理的一切
    • --upgrade = NONE 什么也不做,遇到需要升级的报错退出
    启动并查看日志更新过程
    [root@study01 4444]# cat /dev/null > mysql-error.log 
    [root@study01 4444]# cat mysql-error.log 
    [root@study01 4444]# tailf mysql-error.log 
    ...
    tarting upgrade of data directory.
    InnoDB initialization has started.
    InnoDB initialization has ended.
    X Plugin ready for connections. Bind-address: '::' port: 33060, socket: /tmp/mysqlx.sock
    Finished populating Data Dictionary tables with data.
    Server upgrade from '50700' to '80021' started.
    Server upgrade from '50700' to '80021' completed.
    
    

    MySQL 8.0升级总结

    降低风险
    • 做好备份
    • 利用upgrade_checker做好检查
    快速的升级流程
    • 自动化升级
    • 快速metadata升级
    • 减少了步骤
    8.0的升级自动化升级了help tables

    因为有悔,所以披星戴月;因为有梦,所以奋不顾身! 个人博客首发:easydb.net 微信公众号:easydb 关注我,不走丢!

    image

    因为有悔,所以披星戴月;因为有梦,所以奋不顾身! 个人博客首发:easydb.net 微信公众号:easydb 关注我,不走丢!
  • 相关阅读:
    react 创建组件 (三)PureComponet
    [翻译] YLGIFImage 高效读取GIF图片
    iOS设计模式:静态工厂相关
    使用mac版思维导图软件MindNode
    使用NSHashTable存储引用对象
    [翻译] PBJNetworkObserver 网络监控
    使用富文本OHAttributedLabel
    [翻译] TLMotionEffect 重力感应
    [翻译] TSActivityIndicatorView 自定义指示器
    获取音视频文件AVMetadata数据
  • 原文地址:https://www.cnblogs.com/easydb/p/14725944.html
Copyright © 2011-2022 走看看