如何从sql文件导入到Mysql {#如何从sql文件导入到Mysql}
你可以使用如下命令将sql导入到Mysql:
|-----------|---------------------------------------|
| 1
| mysql -u 用户名 -p 数据库名 < 文件.sql
|
如果出现 1366
错误,可以尝试如下方法:
-
将数据库编码设置为utf8mb4,排序规则设置为utf8mb4_unicode_ci
|-----------|-----------------------------------------------------------------------------------| |
1
|ALTER DATABASE 数据库名 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
| -
将表的字符集设置为utf8mb4
|-----------|-------------------------------------------------------------------------------------| |
1
|ALTER TABLE 表名 CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
| -
使用uft8连接
|-----------|--------------------------------------------------------------------| |
1
|mysql -u 用户名 -p --default-character-set=utf8 数据库名 < 文件.sql
| -
使用Mysq5.5及以上版本
导入大文件 {#导入大文件}
-
将mysql配置文件
my.ini
中的max_allowed_packet
修改大一些。默认为
1k
,可以修改为512m
或更大。可以通过如下命令查看修改结果:
|-----------|------------------------------------------------------| |
1
|show VARIABLES like '%max_allowed_packet%' ;
|最后重启mysql服务即可。
|-----------|--------------------------------------| |
1
|sudo systemctl restart mysql
| -
分割文件(不推荐这种做法)
|-----------|---------------------------------------| |
1
|split -b 100m 文件.sql 文件_part_
|使用时注意查看文件分割处是否被意外换行。