数据库
首页 > 数据库> > 设置MySQL主 – 主复制

设置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位.
有人可以指导我真实的最后一部分设置吗?

解决方法:

最新版本的MySQL不再支持在my.cnf(linux)或my.ini(windows)文件中指定如下

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; 

标签:mysql,replication,database-replication,mysql-5-6
来源: https://codeday.me/bug/20190715/1467608.html