标签:
转自http://www.51testing.com/html/76/428076-819055.html
1 网上说要改mysql的my.ini文件。没看到对应的文件啊。看到MySQL Server 5.5目录下有六个ini,分别是my-huge.ini,......,my-template.ini。到mysql的官网也敲了点,感觉是会读取c:\windows下,或者 mysql当前目录的my.ini。于是自己改名存在的ini,放到对应的目录上。重启mysql.sh。改动的配置无效。悲剧。
2 又看到一种改动方法,
set global max_allowed_packet = 2*1024*1024*10
运行试了下,然后再通过命令show VARIABLES like ‘%max_allowed_packet%‘;查看。
果然行。
同时,也测试了下重启mysql后的情况,同样悲剧。重启mysql后,max_allowed_packet又回到初始值1M了。
3 分析了整个过程,觉得应该首先拿到mysql读取my.ini的位置。第一种方法应该没问题,我改了所有的配置ini对应项,同时把my.ini放到多个位置,一直没效果。应该问题出在没有放对my.ini。本机是win 7系统,也想到了是否跟文件重定向有关系。
之前测试时一直用processMon.exe来定位文件读写。于是,用processMon看了下,果然mysql读的my.ini文件位置为C:\ProgramData\MySQL\MySQL Server 5.5\my.ini。把 max_allowed_packet=16M,加到此文件中[mysqld]后,重启mysql,通过命令show VARIABLES like ‘%max_allowed_packet%‘;查看生效了。
mysql> show variables like ‘%max_allowed_packet%‘;
+--------------------------+------------+
| Variable_name | Value |
+--------------------------+------------+
| max_allowed_packet | 16777216 |
| slave_max_allowed_packet | 1073741824 |
+--------------------------+------------+
2 rows in set (0.00 sec)
标签:
原文地址:http://my.oschina.net/liangzhenghui/blog/375237