欢迎光临
我们一直在努力

MySQL入门--MySQL复制技术之主从从级联复制

MySQL复制技术之主从从级联复制

主数据库:192.168.12.181 上的mysqld1

中继slave192.168.12.182上的mysqld1

级联slave192.168.12.181上的mysqld4

Master数据库将数据同步到中继slave上,然后中继slave充当级联slavemaster数据库进行数据复制;在已经配置好的master-slave结构下,master配置不用改变,只需要对中继slave和级联slave进行配置;实现步骤如下:

(1)       中继slave配置

A.      配置my.cnf

#/etc/my.cnf

log_slave_updates=1  

log_bin=/data/mysql/log/vm2-bin.log  #以上两个是关键参数,必须配置的;

read_only=ON       #非必须

配置好后,重启mysqld

B.      查询master status

在中继slave上,查询master
status
,记录fileposition,以此作为级联slave的同步起点;

 [mysql]> show master status;

+—————-+———-+————–+——————+——————-+

| File           | Position | Binlog_Do_DB | Binlog_Ignore_DB
| Executed_Gtid_Set |

+—————-+———-+————–+——————+——————-+

|
vm2-bin.000009 |      450 |             
|                  |                   |

+—————-+———-+————–+——————+——————-+

1 row in set (0.00
sec)

C.      备份中继slave

备份中继slave,作为级联slave的还原数据源;

[root@vm2 ~]# mysqldump -uroot -p
–all-databases >slave_bak.sql

[root@vm2 ~]# scp slave_bak.sql vm1:/data/    #传到级联slave

 

(2)       准备级联slave

A.      级联slave的配置

#/etc/my.cnf

[mysqld4]

port=3309

basedir=/usr

datadir=/data/mysql/data4

socket=/var/lib/mysql/mysql4.sock

pid-file=/var/run/mysqld/mysqld4.pid

log-error=/data/mysql/log4/mysqld4.log

user=mysql

relay-log=/data/mysql/log4/vm4-slave-bin.log

server_id=4

slave-skip-errors=all

启动mysqld4,通过mysqld_multi命令,启动时会初始化数据库;

#mysqld_multi start 4

 

B.      恢复中继数据库的备份

[root@vm1 data]# mysql -uroot -p -S
/var/lib/mysql/mysql4.sock <slave_bak.sql

 

(3)       连接master(中继slave

在级联slave上面执行建立连接的语句:

change master to

master_host = ‘192.168.12.182’,

master_port = 3306,

master_user = ‘repuser’,

master_password = ‘aa12AA,.’,

master_log_file =’vm2-bin.000009′,

master_log_pos = 450;

启动复制

start slave ;

查看复制的状态

show slave status\G;

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。