之前 Forece 曾经写过如何利用 mysqldump 和 mysql 导入和导出数据库。其实大家一般导入小型数据库的时候基本上用的都是图形界面的 phpmyadmin,但是在导入和导出超大数据库的时候就显得力不从心了。经常出现超时的问题,所以如何非要用 phpmyadmin 导入超大数据库的时候,就必须得将数据库分割后依次上传。不过利用mysql命令导入则没有这个问题。上次讲的是在 Linux 下导入,今天讲讲在 WAMP 中进行导入。

主要是最近在把自己的 Discuz 论坛从 GBK 转为 UTF-8,所以在本地测试了一下。没想折腾出这么多问题来。本地环境是 Windows,安了 WAMP 环境。利用 Addon 调整 Mysql 数据库版本和服务器版本一致。然后下载了从服务器 mysqldump 下来的 SQL 文件。开始导入本地。数据将近2G,也不想分割,所以直接用mysql导入。

进入 Mysql 快捷菜单中的 Mysql 命令行模式,

然后直接用mysql命令导入,发现报错如下:

ERROR:
Unknown command '\"'.
No connection. Trying to reconnect...
ERROR 2005 (HY000): Unknown MySQL server host ' ' (0)
ERROR:
Can't connect to the server

最后找到了,原来在进入mysql命令行时候,没有设置默认字符集,所以才会出现该错误。OK,那么就好办了。

解决方案:

1. 进入cmd,然后进入wamp mysql所在路径
比如:E:\wamp64\bin\mysql\mysql5.6.43\bin

2. 然后进入mysql并且设置字符集

mysql -u mysql_dbuser -p --default-character-set=utf8
mysql -u mysql_dbuser -p --default-character-set=gbk

mysql_dbuse 是用户名,如果你用户名是root那么就直接用root替换,字符集看你自己数据库情况了。一般上utf8

3. 然后让你输入密码,正确输入后,进入mysql命令行

4. 选择数据库

use mysql_dbname;

5. 导入sql文件

source e:\bak.sql

基本上这样就可以避免 ERROR 错误的出现了。

附:
其实也可以直接一条命令搞定~~
mysql -uroot -ppasswd