我正在尝试设置MySQL db复制,它看起来非常直接。
我正在使用本教程:http://www.howtoforge.com/mysql_数据库_复制
现在,我为一个非常大的网站运行了一个相当大的MySQL数据库,在本教程中,它要求我重新启动MySQL来应用/etc/my.cnf文件中的新设置。
我会不惜一切代价避免这一步,因为我知道在我的机器上重新启动MySQL可能需要几分钟时间(由于日志/dbs很大),而且我不希望有任何停机时间。
有没有一种方法可以在不完全重启Mysql的情况下应用必要的设置?
发布于 2012-10-26 09:49:08
my.cnf中的许多设置都可以通过SET GLOBAL从MySQL内部应用。例如:
mysql> SET GLOBAL log_slow_queries = On;但也有一些是来自MySQL内部的只读;log-bin就是其中之一。
mysql> set global log_bin = foo;
ERROR 1238 (HY000): Variable 'log_bin' is a read only variable发布于 2012-10-26 09:54:17
您需要向现有DB添加新DB,还是合并两个现有DB服务器?如果需要添加新的,请检查您的服务器是否通过命令“显示主状态”在生产服务器上收集二进制日志。您将需要在新服务器上设置服务器ID (它必须不是1,因为1是默认的服务器ID,并且在“旧”服务器上使用)。还请检查您的“旧”服务器是否在真正的接口上监听。如果“旧”服务器只使用127.0.0.1,则需要重新启动它,因为如果不重新启动,您就无法更改正在运行的服务器上的侦听和ID参数。所有其他复制参数都可以通过"set全局“命令进行更改,但我强烈建议在my.cnf中设置这两种方法,以避免旧服务器重新启动时出现问题。
https://serverfault.com/questions/442608
复制相似问题