V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
myd
V2EX  ›  数据库

MySQL 升级版本有什么坑吗?

  •  
  •   myd · 2021-10-13 19:29:46 +08:00 · 1794 次点击
    这是一个创建于 917 天前的主题,其中的信息可能已经有所发展或是发生改变。

    目前使用的版本是 MySQL 5.5,32 位的。打算升级到 64 位的 MySQL 8 (或者 MySQL 5.7 )。

    升级理由

    • 32 位版本内存有限,最大 4 个 G 。
    • 升级后性能也会好一些。

    步骤

    1. 安装一个 MySQL 8 实例。
    2. 导入数据到 MySQL 8 并配置为从库。
    3. 主从同步一致后,停掉应用,将从库提为主库。
    4. 修改应用的数据库配置为主库,启动应用。

    想问问:有什么坑?需要注意的地方?

    12 条回复    2021-10-15 10:37:25 +08:00
    sadfQED2
        1
    sadfQED2  
       2021-10-13 19:31:44 +08:00 via Android   ❤️ 1
    PHP 项目的话需要注意新版本的密码检验不支持
    cszchen
        2
    cszchen  
       2021-10-13 19:40:27 +08:00 via iPhone   ❤️ 1
    group 查询不一样了,5.7 以前不是标准的 sql,不过也可以改成 5.7 以前的规则
    jasonkayzk
        3
    jasonkayzk  
       2021-10-14 00:49:34 +08:00
    5.x dump 的 sql 数据在 8.x 可能执行失败(亲身实践
    chengyiqun
        4
    chengyiqun  
       2021-10-14 09:21:07 +08:00
    用 5.7 就行了, 别升级 8.
    Rache1
        5
    Rache1  
       2021-10-14 09:27:39 +08:00
    按照 MySQL 官方的说法,你不能跳版本升级。

    即你只能 5.5 -> 5.6.x -> 5.7.x -> 8.0 这样升级上去。

    当然,如果你直接从 5.5 导出数据,然后导入到 8.0 去,这是没啥问题。

    具体要看文档

    https://dev.mysql.com/doc/refman/8.0/en/upgrade-paths.html
    myd
        6
    myd  
    OP
       2021-10-14 09:35:58 +08:00
    @jasonkayzk 是什么原因呢?
    myd
        7
    myd  
    OP
       2021-10-14 09:36:25 +08:00
    @Rache1 这个步骤看起来有点麻烦,实际上应该没有人这样操作吧
    BiChengfei
        8
    BiChengfei  
       2021-10-14 10:17:46 +08:00
    id 默认自增策略有区别了,innodb_autoinc_lock_mode 默认值不同

    5.5 中,(默认不清楚,查看:show variables where Variable_name = 'innodb_autoinc_lock_mode';)
    8.0 中,默认 innodb_autoinc_lock_mode = 2

    https://github.com/bichengfei/MySQL/blob/master/InnoDB/6/6.1/6.1.InnoDB%E4%B8%ADauto_increment%E5%A4%84%E7%90%86%EF%BC%88%E5%AE%98%E7%BD%91%E7%89%88%EF%BC%89.md
    BQsummer
        9
    BQsummer  
       2021-10-14 15:33:50 +08:00
    小版本升级坑会少很多;没有很强烈的理由要升到 8
    GoRoad
        10
    GoRoad  
       2021-10-14 15:56:42 +08:00
    可以看看 mariadb
    jasonkayzk
        11
    jasonkayzk  
       2021-10-14 21:39:39 +08:00
    @myd #6 貌似是 5.x 导出的 SQL,在 8.x 中语法不兼容;
    marktask
        12
    marktask  
       2021-10-15 10:37:25 +08:00
    没什么特殊需求不要大版本升级,没什么问题不要小版本更新,能稳定运行就不要升级了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5203 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 09:19 · PVG 17:19 · LAX 02:19 · JFK 05:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.