3

我有一台 MySQL Master 和几台从机。

主从复制已设置并完美运行。

此时,我要添加一个新的从机:

我的问题与“ CHANGE MASTER TO ”命令有关:

假设master上所有文件都可用,我会从mysql-bin.000001开始,但是从哪个位置开始呢?MASTER_LOG_POS=0MASTER_LOG_POS=1?还有什么?

将 MASTER 更改为 MASTER_HOST='...', MASTER_USER='...', MASTER_PASSWORD='...', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=WHAT_SHOULD_WRITE_HERE ;

10倍,

4

3 回答 3

2

show master status;例如,您应该执行,

mysql> show master status;

+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000011 | 13966886 |              |                  |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec) 

在对 master 进行转储之前并记下日志位置。恢复从机上的转储并使用与mysqldump 之前change master to相同的日志位置运行。13966886

于 2016-01-29T11:12:26.463 回答
1

如果您从一开始就拥有所有 bin 日志,则可以使用 master_log_file .000001 和 pos=0。大多数人不再拥有来自 master start 的二进制日志,因此要使用的位置是进行转储时的位置。您复制到从服务器的转储。或者关闭主目录和复制数据目录时的位置。

你已经有一个从服务器,所以这对你来说更容易。您可以停止从属服务器上的从属线程,检查从属服务器的日志文件名称和位置,将数据文件从属服务器复制到新服务器并启动两者。

于 2012-09-22T19:57:21.127 回答
0

文档说要运行 SHOW MASTER STATUS:(http://dev.mysql.com/doc/refman/5.6/en/replication-howto-masterstatus.html

SHOW MASTER STATUS;

+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000003 | 73       | test         | manual,mysql     |
+------------------+----------+--------------+------------------+

你的位置在第二列。

于 2013-08-12T17:26:04.240 回答