› MySQL 5.5 Community Server
› MySQL 5.6 Community Server
› Percona Configuration Wizard
› XtraBackup 搭建主从复制
Great Sites on MySQL
› Percona
› MySQL Performance Blog
› Severalnines
推荐管理工具
› Sequel Pro
› phpMyAdmin
推荐书目
› MySQL Cookbook
MySQL 相关项目
› MariaDB
› Drizzle
参考文档
› http://mysql-python.sourceforge.net/MySQLdb.html
miniyao
V2EX  ›  MySQL

MySQL5.5 导出的 *.sql 文件,直接导入 MySQL5.7 或 MySQL8.0 有兼容性的问题吗?

  •  
  •   miniyao · Jun 9, 2018 · 15001 views
    This topic created in 3079 days ago, the information mentioned may be changed or developed.
    有一个老的数据库是 MySQL5.5,准备版本升级的时候连数据库一起升级到最新的 MySQL (如果 MySQL8.0 兼容性没问题,就不考虑 MySQL5.7 了),不清楚 5.5 版本导出的 *.sql 文件,导入到 MySQL8.0,大家有遇到过兼容性的坑吗?
    23 replies  •  2019-11-04 18:23:08 +08:00
    goodryb
    goodryb
    Jun 9, 2018
    1
    所以最好办法难道不是你先创建一个 MySQL8,用 5.5 的备份导入测试一次?
    miniyao
    miniyao
    OP
    Jun 9, 2018
    2
    @goodryb 本地测试看起来没有问题,毕竟版本跨度比较大了,意外的坑难免
    caola
    caola
    Jun 9, 2018
    3
    标准的 sql 语句,能有什么兼容问题?
    除非你使用的是新版本已废弃的功能
    miniyao
    miniyao
    OP
    Jun 9, 2018
    4
    @caola 就是一个普通的 CMS 内容数据库,导出的一个备份 *.sql 文件,没有用什么稀奇古怪的功能
    lzhnull
    lzhnull
    Jun 10, 2018 via Android
    5
    注意为空的字段
    ETiV
    ETiV
    Jun 10, 2018 via iPhone
    6
    要出问题也多半是表结构定义的 sql

    可以先不要数据,只导出 5.5 的 create table,导进新版本看一下
    Mac
    Mac
    Jun 10, 2018 via Android
    7
    SQL 导入导出没遇到什么麻烦,创建用户遇到了,8.0 默认密码加密方式和 5 的不一样,所以很多第三方管理软件不支持新版本,需要自己在设置文件里改加密方式。话说 heidisql 这个版本帝突然停更了。
    shiji
    shiji
    Jun 10, 2018
    8
    我最常见到的问题是 0000-00-00 00:00:00 这种日期导致的错误。但这个可以修改配置忽略
    yemoluo
    yemoluo
    Jun 10, 2018❤️1
    9
    还有一种方法,先搭建一个主从同步的
    jjianwen68
    jjianwen68
    Jun 10, 2018 via Android
    10
    8.0mysqldump 之前版本的数据库默认会有问题,8.0 的改变有点大啊
    abusizhishen
    abusizhishen
    Jun 10, 2018 via Android
    11
    最好用 MySQL 官方工具 MySQL workbench 导入导出
    20has
    20has
    Jun 10, 2018 via Android
    12
    @GTim 主从好像只是从库版本高于主库就行了吧,好思路!
    不过没实践过,不知道大伙怎么看😊
    20has
    20has
    Jun 10, 2018 via Android
    13
    @abusizhishen 最好的导入导出应该还是服务器开 screen 和命令行吧(ノ_ _)ノ
    doubleflower
    doubleflower
    Jun 10, 2018
    14
    这么多年我还碰到过导入不兼容过
    这个应该设计上是考虑兼容的否则让人还怎么升版本
    miniyao
    miniyao
    OP
    Jun 10, 2018
    15
    @Mac 我也遇到这个问题了,开始安装的时候提示了用户加密的方式不同,选了推荐的强加密,然后就会出现和老版本不兼容的情况。
    pathbox
    pathbox
    Jun 10, 2018 via iPhone
    16
    做好备份和回滚
    CFO
    CFO
    Jun 10, 2018 via Android
    17
    5.7 到 5.5 的遇到过问题 反过来没遇到过
    yemoluo
    yemoluo
    Jun 10, 2018
    18
    看了楼上的讨论,我觉得主从同步是目前比较靠谱的方式,甚至可以在同一台机器上安装两个版本,不同的端口号,如果同步完成且没有出错,直接改端口启动
    wvc
    wvc
    Jun 10, 2018
    19
    我升级到 8.0 之后使用最新版的 phpmyadmin 进行操作,全都提示语法错误,根本没法用……
    f2f2f
    f2f2f
    Jun 10, 2018
    20
    生产环境不建议 8.0 啊,先 5.7 比较稳
    stabc
    stabc
    Jun 10, 2018
    21
    低出高入基本都没问题。
    zcxj138
    zcxj138
    Jun 11, 2018
    22
    低版本导高版本应该没啥问题吧。不过 5->8 跨度比较大,不排除 sql 语言重构。
    jeeyong
    jeeyong
    Nov 4, 2019
    23
    存在 GTID 不能写的问题.
    要么 dump 导出的时候.直接关掉 GTID
    要么导入的时候 在目标数据库上 reset master; 一下.
    但是存在依旧不能导入的问题...具体原因不明.
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2109 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 60ms · UTC 14:43 · PVG 22:43 · LAX 06:43 · JFK 09:43
    ♥ Do have faith in what you're doing.