一聚教程网:一个值得你收藏的教程网站

热门教程

linux中MYSQL数据库过大设定max_allowed_packet大小

时间:2022-06-30 18:38:39 编辑:袖梨 来源:一聚教程网

晚上再捣鼓网站的时候恢复较大数据库出现一点问题,在Linux中备份的时候直接用命令备份,这样比直接从PHPMYADMIN中导出来完整度较高一些,同样的在使用恢复数据的时候出现问题。有提示"ERROR 2006 (HY000) at Line 179:MySQL server has gone away"这样的提示错误。

Captain告知解决方法,是因为在Linux环境中max_allowed_packet默认设置太小导致的,数据库表比较大,默认应该是1MB,所以需要调整参数。

这里,我是使用的Linux,在etc/my.cnf文件中,找到max_allowed_packet设置,默认是1MB,我们可以修改为10MB或者20MB,随意。然后重启网站环境之后再导入数据库命令执行,就可以完全的执行导入数据库。

查看目前配置

show VARIABLES like '%max_allowed_packet%';

显示的结果为:

+--------------------+---------+

| Variable_name      | Value   |

+--------------------+---------+

| max_allowed_packet | 1048576 |

+--------------------+---------+ 

以上说明目前的配置是:1M

 

修改方法

1、修改配置文件

可以编辑my.cnf来修改(windows下my.ini),在[mysqld]段或者mysql的server配置段进行修改。

max_allowed_packet = 20M
如果找不到my.cnf可以通过

mysql --help | grep my.cnf
去寻找my.cnf文件。

linux下该文件在/etc/下。

2、在mysql命令行中修改

mysql 命令行中运行

set global max_allowed_packet = 2*1024*1024*10
然后退出命令行,重启mysql服务,再进入。

show VARIABLES like '%max_allowed_packet%';
查看下max_allowed_packet是否编辑成功

PS:如果是Windows系统,找到MYSQL安装目录my.ini下,在[mysqld]部分脚本中,添加set-variable=max_allowed_packet=20M(大小设定)。然后重启MYSQL就可以生效。

热门栏目