Mysql命令行还原phpMyAdmin导出的含有中文的SQL文件
Mysql命令行还原phpMyAdmin导出的含有中文的SQL文件
最近得到了一个数十M的MySQL脚本文件,准备还原为数据库。以前就使用MySQL-Front短暂使用过MySQL,先用它试试,结果挂掉。
这样吧,先用MySQL-Front创建了空数据库,然后使用mysql命令行导入吧。
1)使用MySQL-Front创建了空数据库
因为看脚本中对象都有DEFAULT CHARSET=gbk COMMENT=… 指令,所以字符集选择gbk
2)启动MySQL命令行,输入密码
3)使用新建的数据库b
输入命令: use b;
4)更改文件读取字符集为utf8,这一步很关键
开始时,看到DEFAULT CHARSET=gbk COMMENT=… ,以为要设为gbk,就使用了以下指令:
set names gbk;
但是导入时,全是错误,无法识别中文。
后来认识到应该设置为SQL文件本身的字符集,那SQL文件本身的字符集是什么呢?
我的方法是用VS.net IDE 打开文件,然后另存为,选择“编码保存”
由此看到字符集是utf-8;
所以
输入命令: set names utf8; 注意不是 set names utf-8;
5) 导入文件
输入命令: source 文件路径;
很快,文件成功导入为数据库,效率很高。
到MySQL-Front中看一下,数据正常导入,大功告成!