2013-12-23 64 views
3

我目前有一个主服务器,并希望添加另一个主服务器进行故障切换。设置MySQL主 - 主复制

在我已经添加了主服务器以下为 “my.ini的”

server-id = 1 
replicate-same-server-id = 0 
auto-increment-increment = 2 
auto-increment-offset = 1 
log_bin=mysql-bin 
log_error=mysql-bin.err 
binlog_do_db=1 
binlog_do_db=2 
binlog_do_db=3 
binlog_do_db=4 

一旦加入:

master-host = [IP] 
master-user = [usernameslaveuser] 
master-password = [password] 
master-connect-retry = 30 

MySQL服务器不再启动...... 所以我决定先让辅助服务器正常工作。

问题2: 在新服务器上,我从主数据库的“data”/ mysql目录复制了我的用户文件。 我也用MySQL工作台导入了所有的数据库。

然后我说这“my.ini文件”:

server-id=2 
replicate-same-server-id = 0 
auto-increment-increment = 2 
auto-increment-offset = 2 

master-host = [IP] 
master-user = [usernameslaveuser] 
master-password = [password] 
master-connect-retry = 30 
log_bin=mysql-bin 
log_error=mysql-bin.err 
binlog_do_db=1 
binlog_do_db=2 
binlog_do_db=3 
binlog_do_db=4 

服务器启动了罚款,所以我决定在主添加复制数据库中的表,但其中没有复制到的变化辅助服务器...

我google了一下,发现我必须在mysql命令行中运行一些命令来使复制工作。 但是,当我打开辅助服务器上它不启动... 当它在命令提示符下打开它说:mysql.exe:未知变量'server-id = 2“

两台服务器都运行Windows Server 2012 R2,并安装MySQL 5.6.15 64位 有人可以指导我设置这个的最后一部分?

+0

灿你为第一个mysql服务器提供了一些错误日志? – andreas

回答

0

我已经解决了问题2:我没有把它放在mysqld部分,但在mysql部分my.ini

已解决的问题1:不得不在MySQL命令行中运行它

11

在my.cnf(Linux)或my.ini文件如下指定文件(Windows)不再在MySQL

的最新版本
master-host = [IP] 
master-user = [usernameslaveuser] 
master-password = [password] 
master-connect-retry = 30 

支持你应该执行这个查询改为:

CHANGE MASTER TO MASTER_HOST='host name/ip',MASTER_USER='user',MASTER_PASSWORD='pwd',    MASTER_PORT=3306, MASTER_CONNECT_RETRY=30;