Mysql的主从复制(Master-Slave)

部署Mysql的主从同步
实现数据从一台数据库(master)复制到一台或者多台数据库(slave)
Replication 的原理:master 将数据库的改变写入二进制日志,slave 同步这些二进制日志,并根据这些二进制日志进行数据操作

复制有 3 个步骤:
(1) master 将改变记录到二进制日志(binary log)中(这些记录叫做二进制日志事件,binary log events)
(2) slave 将 master 的 binary log events 拷贝到它的中继日志(relay log)
(3) slave 重做中继日志中的事件,修改 salve 上的数据。
在这里插入图片描述
首先,准备两台数据库,一主(master),一备(slave)
主IP:192.168.44.137
从IP:192.168.44.131
创建需要同步的库
配置主数据库

create database fpx;
use fpx;
create table A1(id int,name varchar(20));

然后停止服务
修改配置文件/etc/my.cnf
(插入以下内容)
log-bin=mysql-bin-master #启用二进制日志
server-id=1 #本机数据库 ID 标示
binlog-do-db=fpx #可以被从服务器复制的库, 二进制需要同步的数据库名
binlog-ignore-db=mysql #不可以被从服务器复制的库
在这里插入图片描述
启动数据库服务
授权,进到数据库中(不要直接复制下面的代码,少了*.*)

grant replication slave on . to slave@192.168.44.131 identified by “123456”;

在这里插入图片描述
刷新权限

flush privileges;

查看状态信息

show master status;

在这里插入图片描述
(可以看到显示二进制文件,同步的库,及不同步的库)
查看系统中二进制文件

ls /var/lib/mysql

在这里插入图片描述

show binlog events\G

配置从数据库
从主数据库导出fpx数据库

mysqldump -uroot -p123456 fpx > /fpx/fpx.sql

传到从数据库

scp /fpx/fpx.sql root@192.168.44.131:/fpx/

在从服务器上测试slave账号是否可用(要注意防火墙或iptables -F)

mysql -u slave -p123456 -h 192.168.44.137

导入数据库

mysql> create database fpx;
mysql -uroot -p123456 fpx</fpx/fpx.sql

导完停止数据库服务
编辑/etc/my.cnf (添加一个行)
server-id= 2(id不能重复)
在这里插入图片描述
启动服务
进入数据库
指向主数据库

mysql> stop slave;
mysql>change master to master_host=‘192.168.44.137’,master_user=‘slave’,master_password=‘123456’;
mysql>start slave;

查看连接状态

show slave status\G

在这里插入图片描述
主数据库上查看

show processlist \G

在这里插入图片描述
测试
主数据库上添加数据

use fpx;
insert into A1 values(1,‘fpx’);
select * from A1;

在这里插入图片描述
查看从服务器,也有数据了
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值