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