热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

mysql修改配置文件不重启_MySQL修改参数不重启生效

地球人都知道,更新mysql配置my.cnf需要重启mysql才能生效,但是有些时候mysql在线上,不一定允许你重启,这时

地球人都知道,更新mysql配置my.cnf需要重启mysql才能生效,但是有些时候mysql在线上,不一定允许你重启,这时候应该怎么办呢?

看一个例子:

mysql> show variables like 'log_slave_updates';

+-------------------+-------+

| Variable_name     | Value |

+-------------------+-------+

| log_slave_updates | OFF   |

+-------------------+-------+

1 row in set (0.00 sec)

mysql> set global log_slave_updates=1;

ERROR 1238 (HY000): Variable 'log_slave_updates' is a read only variable

看到了吧?报错了!

发现有一个叫gdb的东西,感觉相当牛X,可以实现在线更改mysql参数,请看例子:

mysql> system gdb -p $(pidof mysqld) -ex "set opt_log_slave_updates=1" -batch

mysql> show variables like 'log_slave_updates';

+-------------------+-------+

| Variable_name     | Value |

+-------------------+-------+

| log_slave_updates | ON    |

+-------------------+-------+

1 row in set (0.00 sec)

ps:虽然参数变成on了...但是binlog点还是停着..要等一会儿才会变...所以要注意一下这一点.

但是在一些可重复的参数,不能直接用set更改,那这时候又要怎么办呢?老外给了一个解决方案:

mysql> show slave status \G

...

Replicate_Do_DB: test

...

mysql> system gdb -p $(pidof mysqld)

-ex 'call rpl_filter->add_do_db(strdup("he"))' -batch

mysql> show slave status \G

...

Replicate_Do_DB: test,he

...



推荐阅读
author-avatar
2414220942_d5ab70
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有