今天按以前的方法利用source命令来导入数据,但是出现了ERROR 2006 (HY000) at line ***: MySQL server has gone away错误了,根据提示好像大小限制了,下面我把具体过程给大家参考一下.
命令行导入大文件直接使用source函数,导入数据库,常用source 命令,进入mysql数据库控制台,如mysql -u root -p.
mysql>use 数据库,然后使用source命令,后面参数为脚本文件,如这里用到的.sql:
mysql>source d:chai.sql
但导入小文件没事,大文件出现以下错误:
- 1.ERROR 2006 (HY000) at line ***: MySQL server has gone away
- 2.Got a packet bigger than ‘max_allowed_packet’ bytes or ERROR 1153 (08S01) at line 616: Got a packet bigger than ‘max_allowed_packet’ by tes
-
- There was an error while executing a query.
- The query and the error message has been logged at:
- C:UsersliangAppDataRoamingSQLyogsqlyog.err.
- Please click on "Open Error File..." to open the error file.
出现以上问题一般都是my.ini 或者my.cnf参数配置问题.
下面说一下具体配置方法:
注意放在[mysqld]下面加上下面配置:max_allowed_packet=768M 参数大小自己定,我导入的是802M的文件,开始用了64m不行后来改成768M导入成功了
修改完配置,重启mysql.net stop mysql关闭,net start mysql 启动,进入mysql查看是否成功:show variables like '%max_allowed_packet%';显示如下:max_allowed_packet | 805306368 说明修改成功了,重新导入,哈哈导入成功.
有些朋友可能会碰到其它问题,数据库字符集的问题会出现ERROR at line:Unknown command '''.这时只要在最后加上以下命令就可以解决了.
--default-character-set=utf8 即:mysql -u用户名-p密码 数据库名 < SQL文件路径 --default-character-set=utf8. |