mysql主从复制

mysql主从复制

主从复制的原理

从上图所示,我们可以看出mysql主从复制的基础在于Binary log(二进制日志文件),Master会将所有的操作以”事件”的形式存入Binary log中,在Slave中会有两个线程,一个是I/O线程,一个是SQL线程,Slave会通过I/O线程与Master保持通讯,即观察Binary log的变化。一旦发生了变化,它会将变化的部分写入Relay log(中继日志)中,Slave在通过SQL线程回去读取Relay log,并解析完成该操作。从而实现了主从复制。

配置操作

前提(>两台数据库的版本最好保持一致)
  • 主数据库:64.188.4.26
  • 从数据库:192.200.193.26
master配置
  • 找到master的配置文件my.cnf,在[mysqld]的部分插入如下两行代码

  • 重启mysql服务service mysqld restart

  • <创建slave的账号,进入到mysql会话,然后输入以下代码,创建用户账号

mysql > CREATE USER 'slave192'@'192.200.193.26' IDENTIFIED BY 'slavepassword';
mysql > GRANT REPLICATION SLAVE ON *.* TO 'slave192'@'192.200.193.26';
mysql > flush privileges;
  • 查看master状态,请记住File和Position,后面配置Slave有需要用到
slave配置
  • 修改my.cnf,在[mysqld]添加server-id,记住这里的server-id与master的server-id和其他的slave不同。

    [mysqld]
    server-id=2
    
  • 重启mysql

    service mysqld restart
    
  • 打开mysql会话,执行同步的语句
    mysql> CHANGE MASTER TO 
    -> MASTER_HOST='192.200.193.26',
    -> MASTER_USER='slave192',
    -> MASTER_PASSWORD='slavepassword',
    -> MASTER_LOG_FILE='mysql-bin.000002',
    -> MASTER_LOG_POS=7670474
  • 启动slave同步

    mysql> start slave
    
  • 查看状态

如图,红色圈圈的显示为yes,即代表配置成功.

配置的额外参数

我们可以指定数据库进行主从配置,binlog-ignore-db 不同步哪一个数据库, binlog-do-db 只同步某个数据库

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值