【问题标题】:Increasing mysql import size增加mysql导入大小
【发布时间】:2012-04-16 09:20:08
【问题描述】:

我正在尝试将一个 mysql 文件导入我的 cpanel phpmyadmin。但我收到此错误消息。 "#1153 - 收到一个大于 'max_allowed_pa​​cket' 字节的数据包"

我也试过腻子。但是错误信息是一样的。我不知道如何在cpanel中更改mysql中的mox上传大小。

请帮帮我

非常感谢

【问题讨论】:

  • 如果是 sql.gz,文件大小约为 4.6mb
  • 如果只是 .sql 则大小为 46mb

标签: mysql


【解决方案1】:

此错误与 php.ini 无关,它显然是来自 DBMS 的错误消息。

可以在my.cnf文件中增加max_allowed_pa​​cket的值:

[mysqld]
max_allowed_packet = 128M

重启你的mysqld后它应该可以工作了(对于更大的数据增加更多的值)

如果您尝试“使用 putty 导入”,我猜您正在从命令行使用 mysql,在这种情况下,您可以使用 --max_allowed_pa​​cket 参数启动 mysql,例如:

mysql --max_allowed_packet=128M -u root -p sampledb < dump.sql

或者,如果您从正在运行的 mysql 会话中获取文件,您可以通过以下方式设置参数:

set global max_allowed_packet=128M;

最后一个例子只在下次重新启动mysqld之前有效,永久解决方案坚持我的第一个例子。

【讨论】:

  • 是的,你是对的。这不是 php.ini 的问题。我如何找到这个 my.cnf 文件?
  • 我试过这个 mysql --max_allowed_pa​​cket=128M -u root -p sampledb
  • @my.cnf 文件在 Linux 系统上通常位于 /etc/ 中。你可以在 mysql 中执行以下操作:显示变量,如“max_allowed_pa​​cket”?您以哪个用户连接到数据库?
【解决方案2】:

php -i | grep php.ini

打开加载的 php.ini 并修改“upload_max_filesize”并重启 Apache(假设你有 apache)

【讨论】:

  • 谢谢。是的,我有 Apache。但是所有这些都在cpanel中?我的意思是 php.ini 和重启选项?
  • @user1080319 如果您使用共享主机,这可能是更改该设置的问题。
【解决方案3】:

解决方法是增加 MySQL 守护进程的 max_allowed_pa​​cket。您可以通过以 Super 身份登录并运行以下命令来对正在运行的守护程序执行此操作。

# mysql -u admin -p

mysql> set global net_buffer_length=1000000;
Query OK, 0 rows affected (0.00 sec)

mysql> set global max_allowed_packet=1000000000;
Query OK, 0 rows affected (0.00 sec)

然后导入您的转储:

gunzip < dump.sql.gz | mysql -u admin -p database

【讨论】:

    【解决方案4】:

    php.ini 中设置这些值解决了我的问题:

    php_admin_value upload_max_filesize 128M
    php_admin_value post_max_size 128M
    php_admin_value max_execution_time 360
    php_admin_value max_input_time 360
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-28
      • 2021-10-25
      • 1970-01-01
      • 2015-09-24
      • 1970-01-01
      相关资源
      最近更新 更多