Mysql主从同步

本文详细介绍了在CentOS7环境下MySQL主从同步的配置步骤,包括修改my.cnf文件设置server-id、log-bin等参数,创建同步账户并授权,以及在从机上配置并启动slave。还解决了因防火墙导致的连接问题,提供了开启3306端口的iptables配置方法。
摘要由CSDN通过智能技术生成

1.主机配置
找到主机Mysql的配置文件my.cnf(windows为my.ini),一般在/etc/my.cnf路径下。
这里以centos7为例(vim为编辑打开文件命令):
在这里插入图片描述
点击INSET进入编辑模式,修改配置文件;
server-id=1(唯一id);
log-bin=mysql-bin(开启mysql日志文件);
binlog-do-db=test (指定需要日志的数据库);
binlog_format=MIXED(指定记录日志模式为MIXED);
在这里插入图片描述
重启主机MySQL服务;

在主机MySQL中创建用来同步的账户:

CREATE USER 'username'@'host' IDENTIFIED BY 'password';

username为账户名称;
host为从机IP地址;
password为账户密码;

对创建好的账户进行授权:

GRANT replication slave ON *.* TO 'username'@'host'

username为账户名称;
host为从机IP地址;

然后执行:flush privileges;(刷新用户权限)

显示主机日志情况:show master status;
在这里插入图片描述
记录下相应File和Position;

2.从机配置
在从机配置文件(my.cnf(windows为my.ini)和主机相同)添加:
在这里插入图片描述
重启从机MySQL服务;

配置从机MySQL:
登录从机MySQL后进行如下配置:

change master to

master_host='192.168.0.254',//主机IP地址

master_port=3306,//主机MySQL端口号

master_user='replication',//之前创建的同步账号

master_password='replication',//同步账号的密码

master_log_file='mysql-bin.000010',//日志文件名,与之前主机查出来的对应

master_log_pos=5087;//与之前主机查出的Positin对应

在这里插入图片描述
启动从机:start slave;
查看同步状态:show slave status \G
在这里插入图片描述
这两个配置项为Yes则配置成功。

windows配置和CentOS7一样,只是配置的文件换位my.ini。
在这里插入图片描述
常见问题:
1.连接不上CentOS7的MySQL或者ping不通CentoOS7:
更改防火墙,CentOS7默认的防火墙不是iptables,而是firewalle。
#停止firewalld服务

systemctl stop firewalld

#禁用firewalld服务

systemctl mask firewalld

开启

systemctl unmask firewalld

安装iptables-services

yum install iptables-services

设置开机启动

systemctl enable iptables

systemctl [stop|start|restart] iptables
#or
service iptables [stop|start|restart]

service iptables save
#or
/usr/libexec/iptables/iptables.init save

查看iptables防火墙状态

service iptables status

在这里插入图片描述
开启: service iptables start

关闭: service iptables stop

CentOS7默认开启22端口,我们还需配置开启3306端口;
通过 vim /etc/sysconfig/iptables 命令编辑防火墙,添加端口
在这里插入图片描述
按照22端口的格式添加自己需要的端口:
在这里插入图片描述
通过 systemctl restart iptables.service 命令重启防火墙使配置生效;
通过 systemctl enable iptables.service 命令设置防火墙开机启动;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值