Mariadb主从复制

第一步:先将两台CentOS7虚拟机安装上MariaDB

yum -y install mariadb-server

Mariadb主从复制_第1张图片

第二步:master节点配置
启用二进制日志
设置一个在当前集群中惟一的server-id(主/从服务器的ID不能重复);
二进制日志,在Mariadb安装完成之后默认就是启动的,这里只是将mysql-bin改为了master-bin当然不改也是可以的,另外server-id的选项也是默认的,这里并没有修改。

vim /etc/my.cnf

在这里插入图片描述
需要注意的是/var/log/没有mysql目录,需要手动新建并修改属主。

cd /var/log
mkdir mysql
chown -R mysql:mysql mysql

Mariadb主从复制_第2张图片

第三步:创建一个有复制权限(REPLICATION SLAVE, REPLICATION CLIENT)账号
先启动mariadb

systemctl enable mariadb.service 
systemctl start mariadb.service

在这里插入图片描述
创建账号密码并登陆

mysqladmin -u root password Pa9865321
mysql -u root -p

Mariadb主从复制_第3张图片
赋予权限并更新

grant replication client,replication slave on *.* to 'repluser'@'****10.0.0.1****%' identified by'Pa9865321'; 

(注意:粗体是slave的地址,%代表任意数字)
flush privileges;
Mariadb主从复制_第4张图片

第四步:在master节点启用参数

vim /etc/my.cnf

同步二进制日志,事务提交则马上将内存中的二进制日志同步到磁盘
在这里插入图片描述
如果用到的为InnoDB存储引擎
Mariadb主从复制_第5张图片
重启服务并配置防火墙

systemctl restart mariadb.service
firewall-cmd --add-port=3306/tcp
firewall-cmd --add-port=3306/tcp --permanent

在这里插入图片描述

第五步:slave节点配置
启用中继日志;
设置一个在当前集群中惟一的server-id;

vim /etc/my.cnf

在这里插入图片描述
启动服务并配置防火墙

systemctl enable mariadb.service
systemctl start mariadb.service 
firewall-cmd --add-port=3306/tcp
firewall-cmd --add-port=3306/tcp --permanent

在这里插入图片描述
创建账号并登陆

mysqladmin -u root password Pa9865321
mysql -u root -p

Mariadb主从复制_第6张图片

第六步:指定master,并读取数据

CHANGE MASTER TO MASTER_HOST='**10.0.0.12**',MASTER_USER='repluser',MASTER_PASSWORD='Pa9865321';

(注意:粗体为master的IP地址)
在这里插入图片描述

第七步:启动Mariadb slave的 IO和SQL线程

start slave;

在这里插入图片描述
查看从服务器复制状态,IO和SQL线程还是处于关闭状态,需要手动启动才会
开始复制
Mariadb主从复制_第7张图片

“Slave_SQL_Running: No” 解决方案
首先在Slave主机上停掉Slave服务

stop slave; 

在这里插入图片描述

show master status; 

Mariadb主从复制_第8张图片
然后到slave服务器上执行手动同步:

change master to master_host='10.0.0.12',master_user='repluser',master_password='Pa9865321',master_port=3306,master_log_file='master-bin.000005',master_log_pos=245; 
start slave;

Mariadb主从复制_第9张图片

第八步:验证
Master服务创建数据库并查看数据库

create database cjb;
show databases;

Mariadb主从复制_第10张图片
slave服务器查看数据库

show databases;

Mariadb主从复制_第11张图片

至此,试验成功。

你可能感兴趣的:(数据库,数据库,mysql,linux,centos,zookeeper)