阿里云虚拟主机数据库版本比较老,还是5.1版本,为了不想折腾,再加上阿里云独享虚拟主机也在搞活动就入购了一年,在导入数据库的时候执行的 SQL 语句出错,主要原因是阿里云虚拟主机赠送的数据库版本太低了,不支持的 utf8mb4_unicode_ci ,而自己使用的数据库版本是5.5版本较高。
如果你在使用阿里云或者其他主机商提供的虚拟主机的数据库版本低的,导入数据执行SQL语句出错,可以试试下面的解决方法:
用notepad++等其他编辑工具打开导出的数据库.sql文件
利用查找替换功能
把CHARSET=utf8mb4 全部替换成 CHARSET=utf8 ;
把COLLATE=utf8mb4_unicode_ci 全部替换为 COLLATE=utf8_general_ci ;
把utf8mb4_unicode_ci 都替换为 utf8_general_ci ;
替换成功后保存;另外还需要把/*!40101 SET NAMES utf8mb4 */;中的utf8mb4替换为:utf8保存即可,在上传到即可。
成功导入阿里云虚机DMS的数据库:
注:如果按照此方法还无法解决问题,可能是导出的时候没有选择 utf8_general_ci,可以在phpmyadmin 后台有一个标签“操作”,有一个标签卡是“整理”或者“服务器连接排序规则”,选择 utf8_general_ci ,然后执行,很快就会提示改好了;
之后再执行前面的过程进行修改即可!反正在搬家的时候就是按照这样的方法操作的,最终导入成功。