Heim  >  Artikel  >  Datenbank  >  mysql不重启修改参数变量_MySQL

mysql不重启修改参数变量_MySQL

WBOY
WBOYOriginal
2016-06-01 13:10:06950Durchsuche

分享下mysql不重启的情况下修改参数变量的方法。 

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

例子:

mysql> show variables like 'log_slave_updates';

+-------------------+-------+
| Variable_name | Value |
+-------------------+-------+
| log_slave_updates | OFF |
+-------------------+-------+
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

看到了吧?报错了! www.jbxue.com

后来查了一下资料,发现有一个叫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 |
+-------------------+-------+
row in set (0.00 sec)
但是在一些可重复的参数,不能直接用set更改,那这时候又要怎么办呢?老外给了一个解决方案:

mysql> show slave status /G 

...
Replicate_Do_DB: test
...
mysql> system gdb -p $(pidof mysqld)
-ex 'call rpl_filter->add_do_db(strdup("hehehe"))' -batch
mysql> show slave status /G
...
Replicate_Do_DB: test,hehehe
...

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn