我正在尝试将一个MySQL文件导入到我的cPanel phpMyAdmin中,但是我收到了这个错误消息:“#1153 - Got a packet bigger than 'max_allowed_packet' bytes”。
我也尝试使用Putty。但是出现相同的错误消息。我不知道如何在cPanel中更改MySQL的最大上传大小。
请帮帮我,非常感谢。
我也尝试使用Putty。但是出现相同的错误消息。我不知道如何在cPanel中更改MySQL的最大上传大小。
请帮帮我,非常感谢。
这个错误与php.ini无关,明显是来自DBMS的错误消息。
您可以在my.cnf文件中增加max_allowed_packet的值:
[mysqld]
max_allowed_packet = 128M
重启您的mysqld之后它应该可以正常工作(对于更大的数据,请增加该值)
如果您尝试使用putty导入,我猜您正在使用命令行中的mysql,在这种情况下,您可以使用--max_allowed_packet参数启动mysql,例如:
mysql --max_allowed_packet=128M -u root -p sampledb < dump.sql
如果你在正在运行的 MySQL 会话中获取文件,则可以通过以下方式设置参数:
set global max_allowed_packet=128M;
最后一个示例只在下一次重新启动mysqld之前有效,如果需要永久解决方案,请坚持使用我的第一个示例。
请执行命令 "php -i | grep php.ini" 查看 php.ini 文件的位置。
打开 php.ini 文件并修改 "upload_max_filesize" 参数,然后重启 Apache(假设您使用的是 Apache 服务器)。
# 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
在 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