MySQL主从复制的实现-异步复制

MySQL主从复制

Master:主
Slaver:从
Replication:复制

环境说明

  • 主服务器:192.168.15.148
    MySQL用户及密码:master : master#
    给从服务器用的MySQL用户及密码:slave : slave#
  • 从服务器:192.168.15.146
    MySQL用户及密码:slaver : slaver##
  • 两台服务器上的MySQL都是编译安装的5.7.29版本,centos7的系统,主服务器上开启了二进制日志功能

编译安装的传输门

操作步骤

说一下主从复制的条件:

  • 主服务器需要开启Binlog功能
  • 主服务器要建立可以让从服务器复制binlog的账号
  • 从服务器要配置master.info
  • 从服务器开启复制功能(start slave )
1、修改主服务器上的配置文件,添加二进制日志功能,并将server_id设为1
vim /etc/my.cnf

修改如下:

[mysqld]
log_bin
server_id=1

2、配置主,从服务器之间的免密通道

点击查看:配置免密通道的步骤

3、将主服务器上的数据全备,并发送到从服务器上,从服务器导入备份数据

在主服务器上的操作:
进行全备:

  • 最后的地址与名字可自行修改

mysqldump -umaster -p’master#’ --all-databases > /backup/all_db.sql

将备份文件上传到从服务器的root目录下:

scp /backup/all_db.sql root@192.168.15.146:/root

在从服务器上的操作
将备份文件导入数据库(有数据的记得备份):

mysql -uslaver -p"slaver#"  </root/all_db.sql
4、在主服务器上配置slave过来拿取binlog的用户,并授权

注意这里是在MySQL里执行的:

grant replication slave on *.* to 'slave'@'192.168.15.146' identified by 
'slave#';
5、在从服务器上配置主服务器的信息(生成master.info)

注意这里是在MySQL里执行的:

  • MASTER_LOG_FILE和MASTER_LOG_POS可以在主服务器的MySQL里使用以下命令查看:
    show master status;
CHANGE MASTER TO MASTER_HOST='192.168.15.148' ,
MASTER_USER='slave',
MASTER_PASSWORD='slave#',
MASTER_PORT=3306,
MASTER_LOG_FILE='mysql-bin.000003',
MASTER_LOG_POS= 438;
  • 如果上面没配置成功可以使用以下命令清空对master的修改:慎用
reset master;
6、在从服务器上MySQL里开启slave

在MySQL里执行:

  • 启动命令
    start slave;
  • 查看slave的状态
    show slave status \G;

关闭的命令
stop slave;

如果Slave_IO_Running、Slave_SQL_Running的值是Yes,说明已经OK了

7、测试主从复制的效果

可以在主服务器master上进行一些操作(新建表或者新建库),然后去看从服务器slaver上是否发生了同样的变化

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值