linux下面MySQL变量修改及生效

Posted Qiao_Zhi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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全局变量不同,知道有哪些变量再对应的修改其值为想要的值

 

以上是关于linux下面MySQL变量修改及生效的主要内容,如果未能解决你的问题,请参考以下文章

mysql变量修改及生效

Linux如何修改环境变量

linux修改了JAVA_HOME环境变量不生效?

Linux基础测试试题及答案

环境变量修改不生效

Linux下如何使环境变量文件生效