linux下面MySQL变量修改及生效

  今天在访问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全局变量不同,知道有哪些变量再对应的修改其值为想要的值

 

posted @ 2018-01-27 12:01  QiaoZhi  阅读(6425)  评论(0编辑  收藏  举报