您的位置:首页 > 其它

17.1.1.8?Setting Up Replication with Existing Data设置复制使用存在的数据

2016-07-21 14:21 323 查看
17.1.1.8?Setting Up Replication with Existing Data设置复制使用存在的数据

当设置复制使用存在的数据,你需要确定如何最好的从master 得到数据到slave 在开始复制服务前:

基本的过程对于设置复制使用存在的数据如下:

1. 在MySQL master 运行时,创建一个用户被slave使用 当连接到Master 在复制期间

2.如果你没有配置server-id和启动binary logging 在master server上,你需要关闭它来配置这些选项

如果你需要关闭你的master server,这是一个很好的机会,来创建数据库的快照。

你可以得到master status在关闭master前,

更新配置和创建一个快照。

3.如果你的服务器已经配置正确,得到 它的状态 然后使用mysqldump 来创建快照

4. 更新slave的配置

5. 下一步依赖如何创建master的快照数据

如果你使用mysqldump

a. 启动slave,使用e --skip-slave-start option 这样复制不会开始

b.导入dump文件

6.配置slave 的配置坐标从master, 这个告诉slave binary log 文件和位置 在文件里 ,复制的起点。

此外,配置slave 的认证机制和master的host name 。

7.启动SLAVE

在你执行这个过程中,slave 应该连接到master和捕获任何更新,在快照应用后的任何更新

如果你忘记设置server-id选项对于master,slaves不能连接到它

如果你忘记设置server-id 选项在slave上,你会得到下面的slave的错误日志:

Warning: You should set server-id to a non-0 value if master_host
is set; we will force server id to 2, but this MySQL server will
not act as a slave.

你也可以找到错误信息在slave的错误日志 如果不能复制由于任何其他原因

slaves使用信息存在在它的master info 库中来跟踪 master的binlog 已经处理的多少。

信息库可以是文件或者表, 通过设置--master-info-repository

当一个slave 运行 --master-info-repository=FILE,  你可以找到它的目录2个文件,

named master.info and relay-log.info.

如果 -master-info-repository=TABLE instead, 这些信息会保存到表master_slave_info 在mysql的数据库

在任何一种情况下, 不要删除或者编辑文件或者表 除非你准确知道你正在做什么和完全理解影响。

即使在这种情况下, 最好使用CHANGE MASTER TO 语句来改变复制参数。

slave可以使用 指定的值在语句里来更新状态文件。

注意:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: