900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > mysql 主从复制 有数据库_mysql 数据库一对一主从(master-slave)复制

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

时间:2018-12-23 14:27:26

相关推荐

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地址末尾的值

从数据库配置(Linux是f)

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

修改log-bin如下:

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

修改server-id如下:

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

配置完对主从数据库重启

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

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

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

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

执行语句:SHOW MASTER STATUS;

3、设置从数据库

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

命令:stop slave;

开始配置:

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

->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;

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

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

.....

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。