依据日志点的复制

前文讲过日志复制分为基于日志点的复制和基于GTID的复制。

正文就讲一下依照日志点的复制进程。

1.在主DB服务器上确立复制帐号。

create user ‘repl’@ip 段 identified by ‘pwd’;

create user repl@’192.168.1.%’ identified by ‘repl’;

授权

grant replication slave on *.* to ‘repl’@ip 段;

grant replication slave on *.* to repl@’192.168.1.%’;

2.布局主数据库服务器。

bin_log=mysql-bin

启用二进制日志,并钦点日志名字。

server_id =100

要求钦命serverid,在复制集群中必需唯生机勃勃。

3.从服务器配置。

bin_log=mysql-bin

server_id=101

# 中继日志

relay_log=mysql-relay-bin

# 可选参数,是不是把中继日志记录到当前的二进制日志中,

#倘若急需把当下从服务器,作为其余从服务器的复制源,则要求配备。

log_slave_update=on

# 安全布局参数,幸免从写入

read_only=on

www.350.vip ,4.伊始化从服务器的数据

mysqldump ,此措施供给加锁。

参数:

–single-transaction :保险数据事务黄金年代致性,须要对数据库加锁,会导致窒碍。

-master-data=2 : 记录主库二进制文件的偏移量新闻。

xtrabackup –slave-info 热备工具。

应用innodb存储引擎是不会卡住。

mysqldump -uroot -p -P3308 –single-transaction –master-data –triggers
–routines –all-databases >> all.sql

从服务器导入数据

mysql -uroot -p -P3309 <all.sql

5.起步复制链路

亟待在从服务器上操作。

change master to MASTER_HOST=’master_host_ip’,

MASTER_USER=’repl’,

MASTER_PASSWORD=’PWD’,

MASTER_LOG_FILE=’MYSQL_LOG_FILE_NAME’,

MASTER_LOG_POS=4;

change master to master_host=’localhost’,
    -> master_user=’repl’,
    -> master_password=’repl’,
    -> MASTER_LOG_FILE=’mysql-bin.000005′, MASTER_LOG_POS=2162;

这段能够在导出的公文中寻觅。

www.350.vip 1

 

show slave status G

查看复制链路状态。

www.350.vip 2

开发银行复制链路

start slave;

www.350.vip 3

 

应用show processlist 查看服务线程。

www.350.vip 4

一个IO线程,一个SQL线程。

主服务器查看

www.350.vip 5

 

开行了二个dump线程。

6.验证复制效果:

在节点A执行。

www.350.vip 6

 

1.开立三个表。

2.插入两条记下。

在从服务器上询问。

www.350.vip 7

 

发掘数目同步了。

 

优点:

1.是mysql最先扶助的复制能力,BUG绝对相当少。

2.对SQL查询没有其它约束。

3.故障管理相比比较简单于。

缺点:

故障转移时再也得到新主的日志点音讯比较劳累。

发表评论

电子邮件地址不会被公开。 必填项已用*标注