如何修改MYSQL的系统变量
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何修改MYSQL的系统变量相关的知识,希望对你有一定的参考价值。
参考技术A mysql系统变量(system variables)实际上是一些系统参数,用于初始化或设定数据库对系统资源的占用,文件存放位置等等。mysql> show variables like "log";+---------------+-------+ Variable_name Value +---------------+-------+ log OFF +---------------+-------+1 row in set (0f[mysqld]wait_timeout=10# service mysqld restart不过这个方法太生硬了, 线上服务重启无论如何都应该尽可能避免f[mysqld]wait_timeout=10 3) 设置会话变量方法: 在命令行里通过SET来设置如果要修改会话变量值, 可以指定"SESSION"或者"@@session."或者"@@"或者"LOCAL"或者"@@local.", 或者什么都不使用. mysql> set wait_timeout=10;ormysql> set session wait_timeout=10;ormysql> set local wait_timeout=10;ormysql> set @@wait_timeout=10;ormysql> set @@session.wait_timeout=10;ormysql> set @@local.wait_timeout=10; 然后查看设置是否成功:mysql> select @@wait_timeout;ormysql> select @@session.wait_timeout;ormysql> select @@local.wait_timeout;ormysql> show variables like 'wait_timeout';ormysql> show local variables like 'wait_timeout';ormysql> show session variables like 'wait_timeout';+---------------+-------+ Variable_name Value +---------------+-------+ wait_timeout 10 +---------------+-------+ 4) 会话变量和全局变量转换方法: 在命令行里通过SET来设置将会话变量值设置为对应的全局变量值呢:mysql> set @@session.wait_timeout=@@global.wait_timeout;将会话变量值设置为MySQL编译时的默认值(wait_timeout=28800):mysql> set wait_timeout=DEFAULT;这里要注意的是, 并不是所有的系统变量都能被设置为DEFAULT, 如果设置这些变量为DEFAULT则会返回错误. 参考资料:mysql 修改全局变量让重启也生效
参考技术A以 group_concat_max_len 为例
如果在mysql启动后执行 set 命令,则重启musql会自动重置
重启后再次获取变量值
修改mysql根目录下的 my.ini , 没有则自己创建一个。
注意这里修改的不是 my-default.ini , 我就犯了这个低级错误。
在my.init的mysqld组内添加 my-default.ini = 2k
即
修改完成后,即使重启mysql服务也不会恢复默认值了。
以上是关于如何修改MYSQL的系统变量的主要内容,如果未能解决你的问题,请参考以下文章