Mysql5.7 主从复制实现

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012599988/article/details/82192014

准备:
之前写过MySQL主从复制,最近一个项目要用,那就再做一遍,安装就不再写了。网上太多类似文档。分享一个:
mysql的安装https://www.cnblogs.com/coderls/p/6848873.html

原理:https://www.cnblogs.com/hoohack/p/7149234.html
这里写图片描述


1.关闭防火墙

[root@centos6-1 mysql]# service iptables stop

2.server-id,logbin 配置

修改 vim /etc/my.cnf

停止MySQL服务,配置 Master 以使用基于二进制日志文件位置的复制,必须启用二进制日志记录并建立唯一的服务器ID,否则则无法进行主从复制。

开启binlog ,每台设置不同的 server-id

#master的配置文件

[root@centos6-1 etc]# more /etc/my.cnf
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
#symbolic-links=0
server_id=1

log-bin=mysql-bin #打开日志(主机需要打开),这个mysql-bin也可以自定义,这里也可以加上路径

#作为主机的配置

binlog-ignore-db=mysql #不给从机同步的库(多个写多行)
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema
binlog-ignore-db=sys

expire_logs_days=7 #自动清理 7 天前的log文件,可根据需要修改
#slave的配置文件

[root@centos6-2 ~]# more /etc/my.cnf
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
#symbolic-links=0
server_id=2
port=3306
 #加上以下参数可以避免更新不及时,SLAVE 重启后导致的主从复制出错。
read_only = 1
master_info_repository=TABLE
relay_log_info_repository=TABLE

主从开始启动MySQL服务

$ service mysqld start

3.测试log_bin是否成功开启,Master建立账户并授权Slave

master服务器的数据库,继续配置:

mysql> show variables like '%log_bin%';

这里写图片描述
master的数据库中建立备份账号:

backup为用户名,%表示任何远程地址,如下表示密码为1234的任何远程地址的backup都可以连接master主机

mysql> grant replication slave on *.* to 'backup'@'%' identified by '123456';

mysql> use mysql

mysql> select user,authentication_string,host from user;

这里写图片描述

4.查询Master状态

mysql> show master status;  //记录此时的file和position,停止更新主库,

这里写图片描述

5.配置Slave

mysql> change master to 
master_host='192.168.139.130',
master_user='backup',
master_password='123456',
master_log_file='mysql-bin.000007',
master_log_pos=925; 

6.启动Slave主从复制功能

mysql>start slave;

7.检查Slave状态
这里写图片描述

8.重启mysql,测试

总结
现在基本就可以就没有什么问题了,如果需要进行互为主从的配置,只需要把上边的操作,主从换一下,再来一遍就可以了,没有什么难度。

参考:https://blog.csdn.net/sds15732622190/article/details/72594792
https://www.cnblogs.com/imweihao/p/7301537.html

猜你喜欢

转载自blog.csdn.net/u012599988/article/details/82192014