您的位置:首页 > 数据库 > MySQL

mysql主从复制,很简单

2016-06-16 16:01 471 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql 主从复制