mysql 修改全局变量让重启也生效

mysql 修改全局变量让重启也生效,第1张

以 group_concat_max_len 为例

如果在mysql启动后执行 set 命令,则重启musql会自动重置

重启后再次获取变量

修改mysql根目录下的 my.ini , 没有则自己创建一个。

注意这里修改的不是 my-default.ini , 我就犯了这个低级错误。

在my.init的mysqld组内添加 my-default.ini = 2k

修改完成后,即使重启mysql服务也不会恢复默认值了。

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=10ormysql>set session wait_timeout=10ormysql>set local wait_timeout=10ormysql>set @@wait_timeout=10ormysql>set @@session.wait_timeout=10ormysql>set @@local.wait_timeout=10 然后查看设置是否成功:mysql>select @@wait_timeoutormysql>select @@session.wait_timeoutormysql>select @@local.wait_timeoutormysql>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则会返回错误. 参考资料:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7355444.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-04
下一篇 2023-04-04

发表评论

登录后才能评论

评论列表(0条)

保存