部署mysql主从异步复制
所有主机执行:
systemctl stop firewalld
iptables -F
setenforce 0
在MySQL Master上的配置NTP时间同步服务器:
yum -y install ntp
vim /etc/ntp.conf
文件末尾插入内容:
server 127.127.1.0
fudge 127.127.1.0 stratum8 //使其变成一个NTP的服务端
启动NTP服务
systemctl enable ntpd
systemctl start ntpd
在2个Slave节点上配置与Master进行时间同步
rpm -q ntpdate //查看是否有ntpdate
ntpdate 192.168.96.7
ntpdate 192.168.96.4
【所有机器装mariadb和mariadb-server
yum -y install mariadb mariadb-server 此过程略】
配置mysql master服务器:
vim /etc/my.cnf
插入内容:
server-id=1
log-bin=mysql-binlog
log-slave-updates=true
重启mysql服务器,此时就会开启二进制日志功能
systemctl restart mariadb
netstat -lnpt | grep 3306
连接mysql
mysql -uroot -p000000
创建Replication 用户
grant replication slave on *.* to 'myslave'@'192.168.96.%'identified by '123456'; //%代表任意
flush privileges; //刷新授权表
show master status; //查看正在使用几号日志,
拓展: 若无法打开查看是否出现以下情况,若符合请直接按步骤操作:
ps aux | grep mysql
备份Master原有数据(如果此机器已经运行很长时间)
mysqldump -u root -p000000 --all-databases > /root/alldbbackup.sql
scp /root/alldbbackup.sql 192.168.96.7:/root
scp /root/alldbbackup.sql 192.168.96.4:/root
在MySQL Slave 上的配置:(所有的从库)
导入Master的备份脚本
mysql -u root -p000000 < /root/alldbbackup.sql
从库连接主库进行测试,如果连接成功说明主库配置成功
mysql -u myslave -p123456 -h 192.168.96.6 //IP为主库IP,密码为之前设置的密码
修改MySQL配置文件:
vim /etc/my.cnf
插入内容:
server-id = 2
relay-log=relay-log-bin
relay-log-index=slave-relay-bin.index
两台从库都需修改配置文件
vim /etc/my.cnf
插入内容:
server-id = 3
relay-log=relay-log-bin
relay-log-index=slave-relay-bin.index
修改完后重启数据库
systemctl restart mariadb //两台从库都重启
在Slave服务器授权,启动从库,进行从库数据同步
从服务器连接数据库
stop slave; //停止从
CHANGE MASTER TO
MASTER_HOST='192.168.96.6',
MASTER_USER='myslave',
MASTER_PASSWORD='123456',
MASTER_LOG_FILE='mysql-binlog.000001',
MASTER_LOG_POS=245;
start slave;
show slave status\G //都是yes才是正确输出
测试复制是否成功:
show databases; //主从服务器都连接mysql查看所有库,所有结果一致则代表成功
在主库创建新库
create database AB_TEST;
show databases;