51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

如何导入超大的sql文件到Mysql

如何从sql文件导入到Mysql {#如何从sql文件导入到Mysql}


你可以使用如下命令将sql导入到Mysql:

|-----------|---------------------------------------| | 1 | mysql -u 用户名 -p 数据库名 < 文件.sql |

如果出现 1366 错误,可以尝试如下方法:

  1. 将数据库编码设置为utf8mb4,排序规则设置为utf8mb4_unicode_ci

    |-----------|-----------------------------------------------------------------------------------| | 1 | ALTER DATABASE 数据库名 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci; |

  2. 将表的字符集设置为utf8mb4

    |-----------|-------------------------------------------------------------------------------------| | 1 | ALTER TABLE 表名 CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; |

  3. 使用uft8连接

    |-----------|--------------------------------------------------------------------| | 1 | mysql -u 用户名 -p --default-character-set=utf8 数据库名 < 文件.sql |

  4. 使用Mysq5.5及以上版本

导入大文件 {#导入大文件}


  1. 将mysql配置文件 my.ini 中的 max_allowed_packet 修改大一些。

    默认为 1k ,可以修改为 512m 或更大。

    可以通过如下命令查看修改结果:

    |-----------|------------------------------------------------------| | 1 | show VARIABLES like '%max_allowed_packet%' ; |

    最后重启mysql服务即可。

    |-----------|--------------------------------------| | 1 | sudo systemctl restart mysql |

  2. 分割文件(不推荐这种做法)

    |-----------|---------------------------------------| | 1 | split -b 100m 文件.sql 文件_part_ |

    使用时注意查看文件分割处是否被意外换行。

赞(1)
未经允许不得转载:工具盒子 » 如何导入超大的sql文件到Mysql