MySql主从复制

主从复制介绍:

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

MySql复制过程分成三步:

master将改变记录到二进制日志 (binary log)

slave将master的binary log拷贝到它的中继日志(relay log)

slave重做中继日志中的事件,将改变应用到自己的数据库中

本次演示:使用两台Centos7的虚拟机。至于mysql的安装,上一篇文章已经写好了。

操作如下:

第一部分:一台做主MySQL虚拟机,安装完MySQL后进行修改配置文件;

修改MySQL数据库的配置文件/etc/my.cnf

[mysqld]

log-bin=mysql-bin :启用二进制文件

server-id=100        :服务器唯一id,指的是MySQL服务器

 修改后需要重启MySQL

第二步:登录数据库,执行sql,授予权限

GRANT REPLICATION SLAVE ON *.* to 'linzi'@'%' identified by linzi123456;

注:上面SQL的作用是创建一个用户linzi,密码为linzi123456,并且给linzi用户授予REPLICATION SLAVE权限。常用于建立复制时所需要用到的用户权限,也就是slave必须被master授权具有该权限的用户,才能通过该用户复制。

 第三步,登录MySQL记录一下结果中的File和Position的值:

在MySQL下执行show master status;

 注:上面SOL的作用是查看Master的状态,执行完此SOL后不要再执行任何操作。不然值就改变,到从库哪里就是报错。

第二部分:另一台虚拟机做从库,同样安装好MySQL,

如果是克隆虚拟机。记得修改一下MySQL的uuid值。(还有其他问题自己上网查吧)操作如下:

 

第一步,修改MySQL配置文件:在/etc/my.cnf中加入语句:

server-id=101   :服务器唯一ID

 修改完成后依然需要重启MySQL

第二步,登录从库MySQL执行语句:

change master to master_host='192.168.255.100',master_user='linzi',master_password='linzi1234566',
    master_log_file='mysql-bin.000001',master_log_pos=632;
master _host主库虚拟机的IP
master_user刚刚在主库创建的linzi用户
master_password刚刚在主库创建的linzi用户的密码
master_log_flie刚刚在主库执行show master status;(Flie)的值
master_log_pos刚刚在主库执行show master status;(Psoitios)的值

上面命令成功之后,再执行 start slave; 如果更换用户,则需要先停止启动同步:stop slave;

 最后查看从库的状态:       

show slave status\G;  复制返回值,在文本编辑器进行格式化一下:

 结果:

 圆满完成了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值