导入sql时遇到的问题

发布时间 2023-09-14 15:00:42作者: weicheng0

1. SQL8.x数据库迁移到MySQL5.x

从mysql8导出的sql文件,导入mysql时出错,原因是编码、排序规则不兼容。

解决方法:通过替换修改sql文件中关键字来适配
1、通过mysqldump命令备份数据库文件 db.sql
2、将db.sql中的utf8mb4_0900_ai_ci 替换为 utf8_general_ci
3、将db.sql中的CHARSET=utf8mb4 替换为 CHARSET=utf8
4、source 命令导入

2. Navicat中出现MySQL server has gone away错误

出现这种错误一般是sql语句太大导致了

解决办法:
image

navicat->工具->服务器监控->mysql->数据库->变量->max_allowed_packet
默认值67108864(64M),修改为最大值1073741824(1G)
修改后重新执行-成功

3. Source 运行sql太慢

sql脚本前后加入语句:

set autocommit = 0;
SET FOREIGN_KEY_CHECKS=0;

	# 实际执行的insert等语句

commit;
set autocommit = 1;

不过还是Navicat好用