CentOS7, mysql主从同步数据库配置

前言

    最近免费试用了一下云服务器,然后在两台服务器上安装了Mysql并搭建了主从同步数据库。mysql数据库的安装,大家可以去查看我的另一篇博客文章,下面为大家介绍搭建步骤及原理。


原理

    mysql主节点即master节点在每次对数据库执行操作后会将操作写入到本地的二进制日志(binary log)中,从节点slave会使用I/O Thread线程去监听和读取主节点的binary log数据,如果有修改,则更新自己的Relay log日志,然后使用SQL thread线程将Relay log中的日志对数据库进行操作。从而实现了主从同步。


配置过程

1. 主节点编辑配置文件

vim /etc/my.cnf

添加如下配置:

server-id=1
log-bin=master-bin
log-bin-index=master-bin.index

注: 多台节点的server-id必须不同,否则会出现异常。

重启数据库,使得配置生效:

service mysqld restart

2. 进入主节点mysql,创建用户:

create user 'username'@'ip' identified by 'password';

注:ip即允许连接的ip地址,安全起见可以写slave从节点的ip,或者直接写%代表所有ip均可以连接。


3. 对用户进行权限设置:

grant replication slave on *.* to 'username'@'ip';

注: 表示从ip使用username连接过来的请求,允许复制。所以,ip为从节点的ip,username为上面创建的username

使配置生效:

flush privilege;

4. 从节点slave编辑配置文件

vim /etc/my.cnf

添加如下配置:

server-id=2
relay-log=slave-relay-bin
relay-log-index=slave-relay-bin

重启mysql服务,使配置生效:

service mysqld restart


5. 进入从节点mysql进行配置:

change master to master_host='masterIP', master_port=3306, master_user='username', master_password='password', 
master_log_file='master-bin.000001' ,master_log_pos=1;

注: master_host是主节点的ip地址,master_log_file和master_log_pos需要从master节点,进入Mysql数据库后进行查询,命令如下:

show master STATUS;


6. 在从节点上启动主从复制

start slave;

如需要关闭,使用如下命令:

stop slave;

查看从节点状态:

show slave status \G;

如果没有异常信息,则说明启动成功。



猜你喜欢

转载自blog.csdn.net/qq_33876553/article/details/79978874