有一个老的数据库是 MySQL5.5,准备版本升级的时候连数据库一起升级到最新的 MySQL (如果 MySQL8.0 兼容性没问题,就不考虑 MySQL5.7 了),不清楚 5.5 版本导出的 *.sql 文件,导入到 MySQL8.0,大家有遇到过兼容性的坑吗?
1
goodryb Jun 9, 2018
所以最好办法难道不是你先创建一个 MySQL8,用 5.5 的备份导入测试一次?
|
3
caola Jun 9, 2018
标准的 sql 语句,能有什么兼容问题?
除非你使用的是新版本已废弃的功能 |
5
lzhnull Jun 10, 2018 via Android
注意为空的字段
|
6
ETiV Jun 10, 2018 via iPhone
要出问题也多半是表结构定义的 sql
可以先不要数据,只导出 5.5 的 create table,导进新版本看一下 |
7
Mac Jun 10, 2018 via Android
SQL 导入导出没遇到什么麻烦,创建用户遇到了,8.0 默认密码加密方式和 5 的不一样,所以很多第三方管理软件不支持新版本,需要自己在设置文件里改加密方式。话说 heidisql 这个版本帝突然停更了。
|
8
shiji Jun 10, 2018
我最常见到的问题是 0000-00-00 00:00:00 这种日期导致的错误。但这个可以修改配置忽略
|
9
yemoluo Jun 10, 2018 还有一种方法,先搭建一个主从同步的
|
10
jjianwen68 Jun 10, 2018 via Android
8.0mysqldump 之前版本的数据库默认会有问题,8.0 的改变有点大啊
|
11
abusizhishen Jun 10, 2018 via Android
最好用 MySQL 官方工具 MySQL workbench 导入导出
|
13
20has Jun 10, 2018 via Android
@abusizhishen 最好的导入导出应该还是服务器开 screen 和命令行吧(ノ_ _)ノ
|
14
doubleflower Jun 10, 2018
这么多年我还碰到过导入不兼容过
这个应该设计上是考虑兼容的否则让人还怎么升版本 |
16
pathbox Jun 10, 2018 via iPhone
做好备份和回滚
|
17
CFO Jun 10, 2018 via Android
5.7 到 5.5 的遇到过问题 反过来没遇到过
|
18
yemoluo Jun 10, 2018
看了楼上的讨论,我觉得主从同步是目前比较靠谱的方式,甚至可以在同一台机器上安装两个版本,不同的端口号,如果同步完成且没有出错,直接改端口启动
|
19
wvc Jun 10, 2018
我升级到 8.0 之后使用最新版的 phpmyadmin 进行操作,全都提示语法错误,根本没法用……
|
20
f2f2f Jun 10, 2018
生产环境不建议 8.0 啊,先 5.7 比较稳
|
21
stabc Jun 10, 2018
低出高入基本都没问题。
|
22
zcxj138 Jun 11, 2018
低版本导高版本应该没啥问题吧。不过 5->8 跨度比较大,不排除 sql 语言重构。
|
23
jeeyong Nov 4, 2019
存在 GTID 不能写的问题.
要么 dump 导出的时候.直接关掉 GTID 要么导入的时候 在目标数据库上 reset master; 一下. 但是存在依旧不能导入的问题...具体原因不明. |