美文网首页运维MySQL
主从复制-添加新slave服务器

主从复制-添加新slave服务器

作者: 温东 | 来源:发表于2017-04-27 11:32 被阅读15次

    假如master已经运行很久了,想对新安装的slave进行数据同步,甚至它没有master的数据。

    此时,有几种方法可以使slave从另一个服务开始,例如,从master拷贝数据,从另一个slave克隆,从最近的备份开始一个slave。Slave与master同步时,需要三样东西:

    1)master的某个时刻的数据快照;

    2)master当前的日志文件、以及生成快照时的字节偏移。这两个值可以叫做日志文件坐标(log file coordinate),因为它们确定了一个二进制日志的位置,你可以用SHOW MASTER STATUS命令找到日志文件的坐标;

    3)master的二进制日志文件。

    可以通过以下几中方法来克隆一个slave:

    1)、冷拷贝(coldcopy)

    停止master,将master的文件拷贝到slave;然后重启master。缺点很明显。

    2)、热拷贝(warmcopy)

    如果你仅使用MyISAM表,你可以使用mysqlhotcopy拷贝,即使服务器正在运行。

    3)、使用mysqldump

    使用mysqldump来得到一个数据快照可分为以下几步:

    <1>锁表:如果你还没有锁表,你应该对表加锁,防止其它连接修改数据库,否则,你得到的数据可以是不一致的。如下:

    mysql> FLUSH TABLES WITH READ LOCK;

    <2>在另一个连接用mysqldump创建一个你想进行复制的数据库的转储:

    shell> mysqldump -uroot –p123456 -A -B –events--default-character-set>/opt/$(date+%F).sql

    <3>对表释放锁。

    mysql> UNLOCK TABLES;

    相关文章

      网友评论

        本文标题:主从复制-添加新slave服务器

        本文链接:https://www.haomeiwen.com/subject/rcmgzttx.html