WAMP Mysql 命令行导入超大数据库报错 Error 2005 解决方案
之前 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
4. 选择数据库
use mysql_dbname;
5. 导入sql文件
source e:\bak.sql
基本上这样就可以避免 ERROR 错误的出现了。
附:
其实也可以直接一条命令搞定~~
mysql -uroot -ppasswd
战略性 mark 导入MySQL 没有root权限一般是不能导入的