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