
以 group_concat_max_len 为例
如果在mysql启动后执行 set 命令,则重启musql会自动重置
重启后再次获取变量值
修改mysql根目录下的 my.ini , 没有则自己创建一个。
注意这里修改的不是 my-default.ini , 我就犯了这个低级错误。
在my.init的mysqld组内添加 my-default.ini = 2k
即
修改完成后,即使重启mysql服务也不会恢复默认值了。
设置全局变量方法1(不推荐): 修改参数文件, 然后重启mysqld
# vi /etc/my.cnf
[mysqld]
wait_timeout=10
# service mysqld restart
不过这个方法太生硬了, 线上服务重启无论如何都应该尽可能避免。
设置全局变量方法2(推荐): 在命令行里通过SET来设置, 然后再修改参数文件
如果要修改全局变量, 必须要显示指定"GLOBAL"或者"@@global.", 同时必须要有SUPER权限.
mysql>set global wait_timeout=10
or
mysql>set @@global.wait_timeout=10
会话变量和全局变量转换方法:
在命令行里通过SET来设置 将会话变量值设置为对应的全局变量值。
mysql>set @@session.wait_timeout=@@global.wait_timeout
将会话变量值设置为MySQL编译时的默认值(wait_timeout=28800):
mysql>set wait_timeout=DEFAULT
这里要注意的是, 并不是所有的系统变量都能被设置为DEFAULT, 如果设置这些变量为DEFAULT则会返回错误。
mysql中的全局变量能永久改变有些必须在配置文件上修改,有些可以直接修改。
变量有两种,全局变量,session变量。
全局变量对所有session对效,session变量对当前session对效。
修改全局变量: 登陆进mysql: set global 变量名=变量值。
修改session变量: set 变量名=变量值。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)