mysql - 导入具有 `max_allowed_packet` 限制问题且没有管理员访问权限的数据库

标签 mysql shell

<分区>

在远程服务器上导入完整数据库时:mysql -h foo < dump_file.sql ,它返回 ERROR 1153 ... Got a packet bigger than 'max_allowed_pa​​cket' bytes。但是我没有该服务器的管理员权限来更改 my.cnf 设置。限制为16Mb

我尝试像下面这样优化转储,但没有结果:

mysqldump --skip-extended-insert --net_buffer_length=10000 DATABASE_NAME > dump_file.sql

使用 LOAD DATA INFILE 会有帮助吗?是否有任何可能的语法可以在不指定 INTO TABLE 的情况下使用它...?

LOAD DATA INFILE dump_file.sql

或者任何其他方式来解决这个问题?

编辑: 之前的问题是:

Where do I change max_allowed_packet to be able to import the dump? Is there anything else I should set?

当我只知道在哪里改变时max_allowed_packet , 但我没有足够的权限来执行此操作。

所以我特地询问了如何仅使用 CLI 来完成,以及使用 LOAD DATA INFILE 是否有帮助或无帮助 就我而言,这根本不是另一个问题。不管是否重复,我都得到了解决问题的答案。

最佳答案

mysqldump 还为此允许一个参数 - 尝试将 --max_allowed_pa​​cket=16M 添加到您的转储命令中。

关于mysql - 导入具有 `max_allowed_packet` 限制问题且没有管理员访问权限的数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25663786/

相关文章:

mysql - Rails 应用程序生成 MySQL 负载,但现在触发了数据库访问

mysql - 从哪里的表中删除?

linux - BASH:如何将参数传递给别名:CANNOT USE A FUNCTION - Bash 条件语法

mysql - 使用 IN 从表中选择对象

java - JPA:如何设置 MySQL session 变量?

shell - echo >> 样式追加,但到文件的开头

linux - 如何在linux中使用grep查找所有包含特定命令的文件?

linux - 如何使用unix在数据库中登录和执行命令?

regex - Perl正则表达式单引号

MySQL innodb 外键