动力节点首页 全国咨询热线:400-8080-105

绑定手机号,登录
手机号

验证码

微信登录
手机号登录
手机号

验证码

微信登录与注册
微信扫码登录与注册

扫码关注微信公众号完成登录与注册
手机号登录
首页 > 文章

MySQL复制的工作方式

06-07 17:06 590浏览
举报 T字号
  • 大字
  • 中字
  • 小字

 MySQL一般情况下完成复制的工作需要完成以下步骤:

主服务器将变更写入到二进制文件中

服务器读取主服务器的二进制日志变更写入到relay_log中

在从服务器上重放rely_log中的日志

基于日志点的复制配置的步骤:

1.在主DB服务器上建立复制账号

create user 'repl' @ 'IP段' identified by 'password';
grant replication slave on *.* to 'repl' @ 'IP段';//授权

2.配置主库服务器

bin_log=mysql-bin
server_id = 100

3.配置数据库从服务器

bin_log = mysql-bin
server_id = 101
relay_log = mysql-relay-bin
log_slave_update = on[可选]
read_only = on[可选]

4.初始化从服务器数据

mysqldump --master-data=2 -single-transaction
xtrabackup --slave-info[对innodb性能不进行锁表]

5.启动复制链路

change master to master_host = '主服务器的ip地址' ,
master_user = 'repl',
master_password = 'password',
master_log_file = 'mysql_log_file_name',
master_log_pos = 4; 

实际的配置:

1.配置主库:

create user repl@'192.168.25.%' identified by '123456';
grant replication slave on *.* to repl@'192.168.25.%';

2.修改主从配置文件

3.主数据库备份:

mysqldump --single-transcation --master-data --triggers --            routines --all-databases >> all.sql

4.将主库的生成的备份文件传递到从服务器上:scp all.sql root@192.168.15.130:/root

5.在从服务器上执行该sql文件: mysql -uroot -p < all.sql

6.在从服务器上配置数据链路:

change master to master_host='192.168.25.33',
                            master_user='repl',
                            master_password='123456',
                            master_log_file='mysql-bin.0000003',
                            mater_log_pos=1829; 

7.在从服务器上启动复制链路:start slave;

基于日志点的复制优点:

 是mysql最早的复制技术,bug较少;

对于sql查询没有任何限制;

故障处理比较容易。

基于日志点的复制缺点:

故障转移时重新获取新主的日志点的信息比较困难。

0人推荐
共同学习,写下你的评论
0条评论
代码小兵696
程序员代码小兵696

118篇文章贡献392976字

作者相关文章更多>

推荐相关文章更多>

MySQL中SQL优化的几种方法

代码小兵57603-29 17:54

MySQL的索引为什么使用B+Tree

代码小兵69606-07 17:03

DBUtils框架的使用(下)

代码小兵22104-13 18:12

JDBC连接数据库

代码小兵12406-08 17:37

Redis分布式锁的正确实现方式

代码小兵22104-20 20:22

发评论

举报

0/150

取消