mysql主从复制,很简单 - Go语言中文社区

mysql主从复制,很简单


mysql主持很多主从复制架构,将master的数据复制到slave的数据库中。

这里写图片描述

下面将搭建最简单的主从架构,master的ip为192.168.137.103,slave的ip为192.168.137.104,数据库的安装参考http://blog.csdn.net/yingxiake/article/details/51656970,这里使用的是5.7的mysq版本。

1、修改master上的配置文件

 vi /etc/my.cnf

配置打开二进制日志文件,使用偏移量记录配置位置,添加如下配置内容

server-id=103 #id唯一
log-bin=mysql-bin #开启记录二进制日志

2、创建一个用于slave访问master的用户,并授权复制权限,这里我们一般不用root用户

 mysql>CREATE USER 'slave'@'%' IDENTIFIED BY '123456'; #创建用户
 mysql>GRANT REPLICATION SLAVE  ON *.* TO 'slave'@'%' IDENTIFIED BY '123456';#授权

3、启动master和slave的服务

service mysqld start ; 

4、查看master的主从状态

mysql> show master status G;

这里写图片描述

5、修改slave的配置文件

 vi /etc/my.cnf

配置打开二进制日志文件,使用偏移量记录配置位置,添加如下配置内容,并重启服务

server-id=104
log-bin=mysql-bin

6、配置Slave的从属

change master to master_host='192.168.137.103',master_user='slave',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=154; 

然后启动slave,查看slave的状态

mysql> start slave;
mysql> show slave status G;

这里写图片描述

7、进行测试,在master上新建一个数据库叫liuxg

mysql> create database liuxg ;

然后在slave上查看数据库

show databases ;

这里写图片描述

其他方面需要注意:

1、slave日志记录读的pos要和master日志记录的pos一致,避免数据同步不一致
2、如果之前master已经有数据了,可以通过dump先把数据备份到从库,然后从库再从master的pos同步数据

mysqldump -uroot -p123 --all-databases > /home/test.sql
版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/yingxiake/article/details/51691986
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-03-08 10:53:14
  • 阅读 ( 1170 )
  • 分类:数据库

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢