mysql 数据库高版本迁移到低版本问题
如何将高版本mysql数据库的数据导入低版本mysql中
前言
最近做了个网站,准备放到虚拟主机上的时候,发现本地数据库是mysql5.6,服务器上的mysql是5.0的。于是尝试导出数据,结果,导入的数据不是出错,就是各种乱码。折腾了好久之后,终于找到了解决之道,特来水一贴,分享一发。
方法
之前用的是phpmyadmin导出的,即使设置了mysql导出兼容低版本,还是有问题。后来,想到了电脑上还装了个navicat for mysql,打开一看,果然可以将高版本mysql数据库中的数据无伤导入低版本mysql中。前提是你装了navicat for mysql,步骤:
1. 打开navicat for mysql,选择你要导出的数据库,然后右键
2. 设置属性,选择对应的mysql版本即可,然后开始
总结
高版本mysql和低版本mysql之间会有兼容性问题,一不小心就可能导致乱码或者错误。”Unknown collation: ‘utf8mb4_unicode_ci”错误问题。
当运行SQL会出现:[Err] 1067 - Invalid default value for 'create_time',是因为Mysql版本不同,如果版本不 < 5.6请去的话报错的处理方法如下:
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间' (修改前)
`create_time` datetime DEFAULT NULL COMMENT '创建时间' (修改后)
按照上述全局替换即可运行。