標籤:
轉自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)
修改mysql的max_allowed_packet值