MySql主从库搭建

介绍

MySQL主从复制是一个 异步 的复制过程,底层是基于Mysql数据库自带的 二进制日志 功能。就是一台或多台MySQL数据库(slave,即 从库 )从另一台MySQL数据库(master,即 主库 )进行日志的复制,然后再解析日志并应用到自身,最终实现 从库 的数据和 主库 的数据保持一致。

MySQL主从复制是 MySQL数据库自带功能,无需借助第三方工具。

二进制日志:

二进制日志(BINLOG)记录了所有的 DDL(数据定义语言)语句和 DML(数据操纵语言)语句,但是不包括数据查询语句。此日志对于灾难时的数据恢复起着极其重要的作用,MySQL的主从复制, 就是通过该binlog实现的。默认MySQL是未开启该日志的。

MySQL复制过程分成三步:

1、MySQL master 将数据变更写入二进制日志( binary log )
2、slave将master的binary log拷贝到它的中继日志( relay log )
3、slave重做中继日志中的事件,将数据变更反映它自己的数据


在这里插入图片描述

主服务器MySql配置

修改Mysql数据库的配置文件
log-bin=mysql-bin
server-id=100 

重启Mysql服务

net stop mysql;net start mysql;

数据库备份 / 用户授权

##先进入主库,进行锁表,防止数据写入##
flush tables with read lock; 
##进行数据备份##
.....................
##解锁##
unlock tables;
##给从机一个可以复制数据的权限账号
grant replication slave on *.* to 'root'@'192.168.137.129' identified by '123456';
##刷一下,让上边命令生效
flush privileges; 
##查看现在主机的磁道状态
show master status;

从服务器MySql配置

修改Mysql数据库的配置文件
server-id=200 

这里要注意server-id和主库以及其他从库都不能相同
重启Mysql服务

net stop mysql;net start mysql;
systemctl restart mysqld
service mysqld restart

设置主库地址及同步位置

#停止上次失败的复制操作
stop slave;
#清除从节点配置信息(仅清理master.info 和 relay-log.info 文件)#
reset slave;
#从新从主机新的磁道复制,master_host用以太网ip4的地址
change master to master_host='192.168.137.1',
master_user='root',
master_password='123456',
master_log_file='mysqlbin.001227',
master_log_pos=2071;

参数说明:
master_host: 主库的 IP地址
master_user: 访问主库进行主从复制的 用户名 ( 上面在主库创建的 )
master_password: 访问主库进行主从复制的用户名对应的 密码
master_log_file: 从哪个 日志文件 开始同步 ( 即主机的磁道状态显示 )
master_log_pos: 从指定日志文件的哪个 位置 开始同步 ( 即主机的磁道状态显示获取的 Position)

#开始复制#
start slave;
#查看复制状态#
show slave status\G;

#状态显示#
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值