mysql 主从复制_MySQL主从复制配置

前提

两台服务器互相能ping通另一台,mysql版本要一致且服务要运行,下图是主从复制的流程图

5751b3295e48a5593b98205d08bb438c.png

MySQL复制过程分成三步:

  1. master将改变记录到二进制日志(binary log)。这些记录过程叫做二进制日志事件,binary log events;
  1. slave将master的binary log events拷贝到它的中继日志(relay log) ;
  1. slave重做中继日志中的事件,将改变应用到自己的数据库中,MySQL复制是异步的且串行化的

主机配置

注意:一个主机(master)可以对应多个从(slave)

[mysqld]server-id=1  #必须主服务器ID唯一log-bin=mysql-bin #启用二进制日志文件read-only=0  #主机读写都可以binlog-ignore-db=mysql #设置不要复制的数据库binlog-do-db=设置需要复制的主数据库名字  #设置需要复制的数据库log-err=/var/log/mysql/mysqlerr #启用错误日志(配置可选)basedir=/usr #根目录(可选)temdir=/tmp#临时目录(可选)datadir=/var/lib/mysql #数据库目录(可选)

从机配置

#这个是丛集配置[mysqld]server-id=2  #修改服务器id,因为主机id=1,所以要修改从机的idlog-bin=mysql-bin #启用二进制日志文件

注意:主机从机配置完成后,要关闭防火墙,且都要重启mysql服务

主机上建立账户并授权slave

mysql>grant replication slave on *.* to  "用户名"@"从机数据库ip" identified by '密码';mysql>flush privileges;#允许从机以用户名和密码进行复制主机数据
  • 查询主机的状态
mysql>show master status;   #记下file和position的值
0401ab1149171697b1eda81a718d7ee3.png

意义:从机要拷贝数据,就得从这个binlog文件的的353位置开始复制

File = mysql-bin.000237 Position =353

从机上配置需要复制的主机

mysql>change master to master_host="ip",master_user="主机授权的用户名",master_password="主机授权的密码",master_log_file="主机File文件名",master_log_pos=主机Position值;mysql>slave start; #配置从服务器的复制功能mysql>show slave status;mysql>slave stop;#配置从服务器关闭复制功能
8e0b72dc47a26959b7575c3109ecf06f.png
019c40f21829aa10f079cbc7fed10af4.png

点击关注发私信或评论交流文章中有问题的地方,相互学习和答疑

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值