目前使用的版本是 MySQL 5.5,32 位的。打算升级到 64 位的 MySQL 8 (或者 MySQL 5.7 )。
升级理由:
步骤:
想问问:有什么坑?需要注意的地方?
1
sadfQED2 2021-10-13 19:31:44 +08:00 via Android 1
PHP 项目的话需要注意新版本的密码检验不支持
|
2
cszchen 2021-10-13 19:40:27 +08:00 via iPhone 1
group 查询不一样了,5.7 以前不是标准的 sql,不过也可以改成 5.7 以前的规则
|
3
jasonkayzk 2021-10-14 00:49:34 +08:00
5.x dump 的 sql 数据在 8.x 可能执行失败(亲身实践
|
4
chengyiqun 2021-10-14 09:21:07 +08:00
用 5.7 就行了, 别升级 8.
|
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 |
6
myd OP @jasonkayzk 是什么原因呢?
|
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 |
9
BQsummer 2021-10-14 15:33:50 +08:00
小版本升级坑会少很多;没有很强烈的理由要升到 8
|
10
GoRoad 2021-10-14 15:56:42 +08:00
可以看看 mariadb
|
11
jasonkayzk 2021-10-14 21:39:39 +08:00
@myd #6 貌似是 5.x 导出的 SQL,在 8.x 中语法不兼容;
|
12
marktask 2021-10-15 10:37:25 +08:00
没什么特殊需求不要大版本升级,没什么问题不要小版本更新,能稳定运行就不要升级了
|