mysql 主从复制 有数据库_mysql 数据库一对一主从(master-slave)复制

提要:网上查了资料说主从数据库要版本一致,我这里由于之前的安装原因数据库版本并不一致,而且主服务器(master)安装在windows,从服务器(slave)安装在Linux

数据库版本:

主:10.1.9-MariaDB-log

从: 5.6.29-MariaDB-log

主从复制的问题以及解决办法:

mysql主从复制存在的问题:1.主库宕机后,数据可能丢失

2.从库只有一个sql Thread,主库写压力大,复制很可能延时

解决方法:1.半同步复制---解决数据丢失的问题

2.并行复制----解决从库复制延迟的问题

一、原理:

依托mysql数据库二进制日志。主数据库(master的二进制日志自行进行操作。这样就实现了主从复制。

二、配置:

主数据库配置(windows是my.ini)

修改log-bin如下:

log-bin=mysql-bin   //将mysql二进制日志取名为mysql-bin

修改server-id如下:

server-id= 1    //默认值为1,一般设置的是ip地址末尾的值

68398585ad7ab2f10f6b4e3b7a0b1979.png

从数据库配置(Linux是my.cnf)

要配置的项和主数据库一样

修改log-bin如下:

log-bin=mysql-bin   //将mysql二进制日志取名为mysql-bin

修改server-id如下:

server-id= 79   //从服务器ip地址末值为79

981e30390a49d921f625fd82eca7e1d3.png

配置完对主从数据库重启

三、主数据库创建一个账号,并且赋予复制权限,后期从数据库会通过这个账号复制操作

1、在mysql操作界面下,输入下面一行命令:

GRANT replication slave ON *.* TO 'slave'@'%' IDENTIFIED BY '111111';

69bcfc7fb7cb713f13ff4c63c98d4751.png

2、查看主服务器BIN日志的信息(执行完之后记录下这两值,然后在配置完从服务器之前不要对主服务器进行任何操作,因为每次操作数据库时这两值会发生改变)

执行语句:SHOW MASTER STATUS;

07048259512cfd77d8a24d7611727f95.png

3、设置从数据库

关闭slave(如果你以前配置过主从的话,一定要先关闭)

命令:stop slave;

开始配置:

输入下面代码即可:MySQL [(none)]> CHANGE MASTER TO

-> MASTER_HOST="192.168.31.153",

-> MASTER_USER="slave",

-> MASTER_PASSWORD="liuwenbin",

-> MASTER_LOG_FILE="mysql-bin.000001",

-> MASTER_LOG_POS=5779;

参数解释:MASTER_HOST  :  设置要连接的主服务器的ip地址

MASTER_USER  :  设置要连接的主服务器的用户名

MASTER_PASSWORD  :  设置要连接的主服务器的密码

MASTER_LOG_FILE  :  设置要连接的主服务器的bin日志的日志名称,即第3步得到的信息

MASTER_LOG_POS  :  设置要连接的主服务器的bin日志的记录位置,即第3步得到的信息,(这里注意,最后一项不需要加引号。否则配置失败)

从服务器配置完成,开启同步

命令: start slave;

4、查看从服务器同步是否成功

命令: show slave status;

9bb8be4e88e5d23f3c7fe91af6815580.png

上面两项均为yes,说明配置成功,否则,请重复前面的步骤。

ok,到这里MySQL的主从复制就配置完了,

eb55f16c81705eb170da29f6cf5cacdc.png.....

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值