• 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
     ...

     原文地址:http://www.hdj.me/evil-replication-management

  • 相关阅读:
    Linux下使用select延时
    update不能直接使用select的返回结果
    C++类模板声明与定义为何不能分开
    MySQL开启日志记录执行过的SQL语句
    如何使用FastCGI处理自定义HTTP头
    MongoDB添加认证
    Ubuntu16.04安装MongoDB
    nginx: [emerg] getpwnam(“www”) failed
    C++ 智能指针(一)
    协同过滤
  • 原文地址:https://www.cnblogs.com/wayde-Z/p/6647695.html
Copyright © 2020-2023  润新知