系统linux
mysql版本是5.0.95
在my.cnf里设置max_allowed_packet=16M后,重启后查看这个值也确实变成了16M但过个1,2天后插入数据报错了,后来查看这个值又变成了默认的1024 为啥呢?看日志mysql中间也没重启过
请各位大神分析下原因
mysql版本是5.0.95
在my.cnf里设置max_allowed_packet=16M后,重启后查看这个值也确实变成了16M但过个1,2天后插入数据报错了,后来查看这个值又变成了默认的1024 为啥呢?看日志mysql中间也没重启过
请各位大神分析下原因
解决方案 »
- mysql 省市区域的表怎么设置比较好?
- 这个sql怎么优化?
- 表的存储引擎为myisam,如何去掉以前的自动commit功能,让程序员手动写程序commit呢?
- mysql的一个库,既有myisam存储引擎表,又有innodb存储引擎表,如何做备份恢复方案!
- postgres 8.3的union关键字连接的表数量上限是多少
- 如何把视频文件和MP3直接存入数据库
- 请问我的PHP老是无法连接数据库MySql为什么呢???
- 初学者的困惑:MySql怎样用在PHP中?
- mysql 连接问题急!!!
- mysql 多表记录集查询问题
- mysql 5.6.22 centos 7下安装完成后 默认密码是什么 在哪里找 没开安全模式默认不为空的!!
- my.ini的位置到底哪个是真的?为什么根目录下有,数据目录下也有?
很有可能是人为改过
这些参数不是你设多少就是多少
innodb_buffer_pool_size 设成内存50%
你查看一下状态值不是你设置的值 ,这是一个最高值
1024 也是当前用的值 最大到16*1024*1024
MySQL 的max_allowed_packet保护导致MySQL Server 不断的启停 2007-03-03 16:56:42
分类: Mysql/postgreSQL
昨天晚上一位客户反映,他的PHP-MySQL程序突然不能正常访问。检查服务器,发现这是一台一直以来运行很稳定的服务器,以前并没有发生过什么问题的,特别是在mysql与php方面。按客户提供的页面进行访问,觉得很奇怪:不能正常访问是很有规律的出现的,MySQL连接出错是相互交替,即一次能正常连接,生成页面,那下一次就是不能连接,生成页面,显示的错误为:
Error No. 2003: Can't connect to MySQL server on 'localhost' (or some other host)
一看这信息,应该是MySQL死掉的现象!查看系统日志,MySQL的shutdown 与 startup的时间确实与访问页面的时间可以对应。
(后记:其实出现这个提示的原因,可能有以下三种
1. 服务器没有运行MySQL Server或shutdown了;
2. MySQL Server不接受TCP/IP连接请求。查看配置文件中的skip-networking有没有被禁掉;
3. 其它网络的问题。)那到底是什么原因造成MySQL死掉又启来呢?如果MySQL能够正常自动启动,那访问这个页面对MySQL的影响是数据库系统可以自动识别出来的,出于一种自动保护的原因,它才会shutdown MySQL. 基于以上的原因,开始查找资料,看都有在哪些情况下MySQL会自动shutdown后又立即startup的。
首先想到的是buffer(read,sort,temp etc.)不足,那么修改配置文件,把它们都增大一倍后重启MySQL,还是同样的会死掉。接下来想到的就是可能请求的连接包过大,检查配置文件,其中并没有max_allowed_packet声明。在配置文件中,设置max_allowed_packet=2M后,重新启动MySQL,问题解决!呵呵,看来mysql的配置文件中还有很多内容可挖的哟,以后得多多注意了。
重新设置My.ini里面的参数,然后在[mysqld] 下面添加下面的语句 max_allowed_packet=500M 然后重启MySQL,应该就没问题了,
想了解的更详细的话,请参考下面的文档
https://dev.mysql.com/doc/refman/5.5/en/packet-too-large.html