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 · 14710 views
    This topic created in 2942 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
        1
    goodryb  
       Jun 9, 2018
    所以最好办法难道不是你先创建一个 MySQL8,用 5.5 的备份导入测试一次?
    miniyao
        2
    miniyao  
    OP
       Jun 9, 2018
    @goodryb 本地测试看起来没有问题,毕竟版本跨度比较大了,意外的坑难免
    caola
        3
    caola  
       Jun 9, 2018
    标准的 sql 语句,能有什么兼容问题?
    除非你使用的是新版本已废弃的功能
    miniyao
        4
    miniyao  
    OP
       Jun 9, 2018
    @caola 就是一个普通的 CMS 内容数据库,导出的一个备份 *.sql 文件,没有用什么稀奇古怪的功能
    lzhnull
        5
    lzhnull  
       Jun 10, 2018 via Android
    注意为空的字段
    ETiV
        6
    ETiV  
       Jun 10, 2018 via iPhone
    要出问题也多半是表结构定义的 sql

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