使用命令行导入sql文件到mysql数据库

1.基本操作

  1. show  dattabases;
  2. use tiku1;
  3. set chatset utf8;
  4. source  C:\Users\zy\Desktop\chuyi1\chuyi1.sql

2.遇到问题

  1. 若是新建库,一定要设置数据库的字符集和序列规则。

  2. 命令行运行sql脚本出错:MySQL server has gone away;ERROR 1231 (42000): Variable 'sql_mode' can't be set to the value of 'NULL' ERROR 1231 (42000): Variable 'unique_checks' can't be set to the value of 'NULL' ERROR 1231 (42000): 

出错原因:MySQL server has gone away
常见于外部导入sql文件,如看到该报错应先查看sql文件大小是否超过max_allowed_packet,如不超过,则再排查其他原因;常见于mysql数据库中执行source导入太大的sql文件的情况,原因是由于执行的sql文件过大,超过max_allowed_packet的值导致失败。

解决方法:

修改max_allowed_packet的值

如不设置此参数,通常默认为4M

max_allowed_packet 最大值是1G(1073741824) 设置超过1G,最终结果也只有1G

查看当前max_allowed_packet的值:show variables like 'max_allowed_packet';

方法1:数据库中临时修改

set global max_allowed_packet = 20 * 1024 * 1024; //20M的设置,不直接使用set global max_allowed_packet=20M的原因是:命令行进行修改时,通常要算成字节数设置

 

方法2:持久化修改

修改该数据库配置文件:通常是/etc/my.cnf,根据实际情况修改配置文件

vim /etc/my.cnf

[mysqld]
max_allowed_packet = 1024M

或者

max_allowed_packet = 1G

重启数据库

service mysql restart
systemctl restart mysql

查看是否生效

show variables like 'max_allowed_packet';

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值