我目前有一台主服务器,并希望添加另一台主服务器进行故障转移。
在主服务器上,我已将以下内容添加到“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 :(得分:14)
在最新版本的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;
答案 1 :(得分:0)
我已经解决了问题2:我没有把它放在mysqld部分,而是放在my.ini的mysql部分
已解决的问题1:必须在MySQL命令行中运行它。