max_allowed_packet设置mysql消息缓冲区大小限制sever接收的数据包大小,如果大小过小,可能会影响到部分操作:这个过程大部分发生在load data file中,有时也发生在update和insert中。这个值最大可设置为1G。
在mysql命令行窗口输入 show VARIABLES like '%max_allowed_packet%'
显示结果为(第二行不一定有的):
mysql> show VARIABLES like '%max_allowed_packet%';
+--------------------------+------------+
| Variable_name | Value |
+--------------------------+------------+
| max_allowed_packet | 1048576 |
| slave_max_allowed_packet | 1073741824 |
+--------------------------+------------+
2 rows in set
+--------------------------+------------+
| Variable_name | Value |
+--------------------------+------------+
| max_allowed_packet | 1048576 |
| slave_max_allowed_packet | 1073741824 |
+--------------------------+------------+
2 rows in set
以上配置说明配置大小为1m,实际情况是不能满足使用
解决方案:方法1、编辑my.cnf修改(windows下my.ini),在[mysqld]段或mysql的server配置段进行修改,在配置文件的[mysqld]下加常用的配置参数。重启mysql服务后,参数生效。
如max_allowed_packet = 20M
方法2、在mysql命令行窗口 运行
set global max_allowed_packet = 2*1024*1024*10 然后退出mysql命令行重新登录
注方法2中如果重启mysql服务,max_allowed_packet的值会还原成默认的初始值,在命令行里的设定不生效
另提供命令行方式设置服务
重启命令如下:
一、启动方式
1、使用 service 启动:service mysqld start
2、使用 mysqld 脚本启动:/etc/inint.d/mysqld start
3、使用 safe_mysqld 启动:safe_mysqld&
二、停止
1、使用 service 启动:service mysqld stop
2、使用 mysqld 脚本启动:/etc/inint.d/mysqld stop
3、mysqladmin shutdown
三、重启
1、使用 service 启动:service mysqld restart
2、使用 mysqld 脚本启动:/etc/inint.d/mysqld restart