mysql 配置主从复制如何设置参数 "start-position" 或 "start-datetime"
时间: 2023-12-29 22:06:41 浏览: 81
mysql数据库 主从复制的配置方法
在 MySQL 主从复制中,可以使用 "start-position" 或 "start-datetime" 参数来指定从哪个位置或时间点开始复制。这些参数可以在从服务器上的配置文件中设置。下面是具体步骤:
1. 打开从服务器上的配置文件 my.cnf 或 my.ini。
2. 找到 [mysqld] 段,添加以下参数:
- 使用 "start-position" 参数:
```
replicate-do-db=database_name
replicate-ignore-db=mysql
replicate-wild-do-table=database_name.%
master-info-file=/var/lib/mysql/master.info
relay-log-info-file=/var/lib/mysql/relay-log.info
relay-log=/var/lib/mysql/relay-log
log-bin=mysql-bin
log-slave-updates
server-id=2
master-host=master_server_ip
master-user=replication_user
master-password=replication_password
replicate-do-table=database_name.table_name
replicate-do-table=database_name.table_name2
replicate-do-table=database_name.table_name3
replicate-do-table=database_name.table_name4
replicate-do-table=database_name.table_name5
relay-log-recovery=1
```
其中,"start-position" 参数可以在 "master-info-file" 文件中找到。
- 使用 "start-datetime" 参数:
```
replicate-do-db=database_name
replicate-ignore-db=mysql
replicate-wild-do-table=database_name.%
master-info-file=/var/lib/mysql/master.info
relay-log-info-file=/var/lib/mysql/relay-log.info
relay-log=/var/lib/mysql/relay-log
log-bin=mysql-bin
log-slave-updates
server-id=2
master-host=master_server_ip
master-user=replication_user
master-password=replication_password
replicate-do-table=database_name.table_name
replicate-do-table=database_name.table_name2
replicate-do-table=database_name.table_name3
replicate-do-table=database_name.table_name4
replicate-do-table=database_name.table_name5
relay-log-recovery=1
```
其中,"start-datetime" 参数可以在 "master-info-file" 文件中找到。
3. 保存并关闭文件,重启从服务器。
4. 在从服务器上执行以下命令启动复制:
```
CHANGE MASTER TO MASTER_HOST='master_server_ip', MASTER_USER='replication_user', MASTER_PASSWORD='replication_password', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=4;
```
其中,"MASTER_LOG_FILE" 和 "MASTER_LOG_POS" 分别对应 "start-position" 或 "start-datetime" 的值。
注意:在使用 "start-datetime" 参数时,需要保证主从服务器的时区设置相同,否则可能会导致复制不一致的问题。
阅读全文