# Windows下命令行导入sql文件
# 1.sql文件很大
MySQL max_allowed_packet
设置以字节发送给服务器的最大数据包大小. (默认: 1MB),数据库变更需要:大的插入和更新可能会被max_allowed_packet
参数限制,导致失败。
可以修改mysql服务器的配置(my.ini 或者 my.cnf 文件)参数:max_allowed_packet = 30M
来解决,缺陷是该方法需要重启mysql服务器。
# 1.1永久修改
修改my.ini文件,max_allowed_packet的值可以设置为1024M
# 1.2临时修改
show variables like 'max_allowed_packet';
set global max_allowed_packet = 10 * 1024 * 1024;
1
2
3
2
3
1.命令行修改时,不能用M、G,只能这算成字节数设置。配置文件修改才允许设置M、G单位。
2.命令行修改之后,需要退出当前回话(关闭当前mysql server链接),然后重新登录才能查看修改后的值。通过命令行修改只能临时生效,下次数据库重启后又复原了。
3.max_allowed_packet 最大值是1G(1073741824),如果设置超过1G,查看最终生效结果也只有1G。
# 2.导入
mysql -u root -p --default-character_set=utf8
set character_set_database=utf8;
UTF-8:create database 数据库名 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
GBK:create database 数据库名 DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;
use 数据库名;
source D:/mysql/test.sql;
1
2
3
4
5
6
2
3
4
5
6
← 视图 mysql时间格式化 →