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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值