Mysql中max_allowed_packet参数设置一例

这个问题是因为导入的sql文件大于系统默认的max_allowed_packet的值,解决方法:比如在my.cnf修改增加到:max_allowed_packet= 32M #或者更高,当然也可以在mysqld启动的时候加入这个参数,但是该变量必须在mysqld重新启动的时候才加载生效,所以必须重起mysqld

 

我是把max_allowed_packet参数加载到了mysql启动文件mysqld中,mysqld文件部分设置如下:

 

${MYSQL}/bin/mysqld --user=mysql --datadir=${MYSQL}/data "$@" /

--language=${MYSQL}/share/mysql/english -O max_connections=500 -O wait_timeout=600 /

-O key_buffer= 32M --max_allowed_packet= 32M --port=${port} --socket=/tmp/mysql.sock &

 

其中 --max_allowed_packet= 32M 必须有前面的――符号。

 

关于max_allowed_packet一些资料:

 

许多MySQL程序有一些内部变量可以在运行时设置。程序变量的设置与带有值的其它长选项相同。

 

例如,mysql有一个max_allowed_packet变量,可以控制其通信缓冲区的最大长度。要想为mysqlmax_allowed_packet变量的值设置为16MB,使用下面的任何一个命令:

 

shell> mysql --max_allowed_packet=16777216

shell> mysql --max_allowed_packet= 16M

 

1个命令以字节指定值。第2个命令以兆字节指定值。变量值可以有一个后缀KM或者G(可以为大写或小写)来表示千字节、兆字节或者十亿字节的单位。

 

在选项文件中,变量设定值没有引导破折号:

[mysql]

max_allowed_packet=16777216

或:

[mysql]

max_allowed_packet= 16M

 

如果你喜欢,变量名的下划线可以为破折号。

 

注:max_allowed_packet参数是在mysql4以后才有的,在mysql4以前版本,还没有这个参数

 

此外,还可以通过再/etc/增加my.cnf文件,my.cnf中设置max_allowed_packet= 16M ,然后重启mysql也可.至于my.cnf的获得,可以从mysql主目录的support-files下通过更改模版得到.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值