今天在訪問mysql項目的時候突然報500錯誤,沒有找到連接,因此想到mysql的連接時間。
mysql> show global variables;
主要就是連接時間是28800(8小時),而且任務調度也沒打開,因此想到修改全局變量的值。
1.修改任務調度裝:
1.1具體的查看任務調度的狀態:show variables like '%event%';
1.2修改任務打開狀態:set global event_scheduler=on;
2.修改數據庫連接時間:
2.1查看連接時間:show variables like '%timeout%';
發現默認保持時間是2880(8小時)
2.2修改連接時間:
mysql> set global wait_timeout=604800; Query OK, 0 rows affected (0.00 sec) mysql> set global interactive_timeout=604800; Query OK, 0 rows affected (0.00 sec)
2.3.查看連接時間:show variables like '%timeout%';
發現好像沒生效。在這個會話里變量使不生效的需要退出后在進入查看mysql變量就生效。也就是退出mysql重新登錄一下發現剛才的配置生效。
3.重新啟動mysql服務器后發現又不起作用了(修改/etc/my.cnf使變量啟動生效)
修改好后記得要修改my.cnf文件讓mysql在重啟后變量值不變,要注意的是使用set global設置mysql的變量值需要在配置的時候
在my.cnf文件里的[mysqld]棧下寫下這個變量,不然mysql還是要重啟的。
重新啟動發現三個變量都生效,修改mysql的啟動默認值需要修改/etc/my.cnf文件
mysql重要的全局變量:event_scheduler 任務調度
wait_timeout 連接時長
interactive_timeout 連接時長
max_allowed_packet 參數限制,導致寫入或者更新失敗
總結:
最后在my.cnf中也有mysql日志文件的位置,也就是mysql的默認配置都是修改的,只需要修改my.cnf,如果查看mysql 的默認值的話就是用上面的show variables like '%...%'
因此也聯想到剛開始安裝mysql服務器修改my.cnf中mysql的默認編碼,參考:http://www.cnblogs.com/qlqwjy/p/7504865.html
修改mysql 的配置要了解當前版本mysql有哪些全局變量,不同版本的mysql全局變量不同,知道有哪些變量再對應的修改其值為想要的值