实验环境:
三台服务器,一主两从
master:192.168.200.111
slave1:192.168.200.112
slave2:192.168.200.113
实验步骤:
1.首先关闭所有服务器的防火墙和seLinux
iptables -F
systemctl stop firewalld
setenforce 0
2.建立时间同步环境
在主服务器上安装NTP时间同步服务器,一般都会有
yum -y install ntp
vim /etc/ntp.conf
在文件最末尾处添加:
server 127.127.1.0
fudge 127.127.1.0 startum 8
3.启动ntp服务
systemctl start ntpd
chkconfig ntpd on
配置MySQL主服务器:
1.修改配置文件
vim /etc/my.cnf
文件末尾添加内容:
[mysqld]
log-bin=mysql-bin
log-slave-updates=true
server-id =11
#server-id不能和从服务器的相同
2.重启服务
systemctl restart mariadb.service
3.给从服务器做授权
登录到数据库:
mysql -uroot -p'数据库密码'
grant replication slave on *.* to 'myslave'@'192.168.200.11_' identified by '数据库密码'
#给与192.168.200.11范围的主机复制的功能
刷新授权表:
flush privileges;
查看主服务器的信息:
show master status;
配置从服务器slave1:
1.修改配置文件
vim /etc/my.cnf
文件末行添加内容:
[mysqld]
relay-log=relay-log-bin
relay-log-index=slave-relay-bin.index
server-id =12
2.重启服务
systemctl restart mariadb
3.登录数据库指定主服务器
mysql -uroot -p'密码'
change master to master_host='192.168.200.111',master_user='myslave',master_password='123123',master_log_file='mysql-bin.000003',master_log_pos=245;
#指定主服务器的IP,组,主服务器数据库的密码,对应的日志文件号和position号
4.开启从服务功能
start slave;
5.检查线程是否开启
show slave status G;
slave2同上操作
环境测试:
1.在MySQL主服务器创建db_test数据库
create database db_test;
2.查看数据库
show databases;
3.分别在两台从服务器上查看是否有该数据库,做到数据同步
show databases;