MySQL实现主从复制

实验环境:

三台服务器,一主两从

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;

原文地址:https://www.cnblogs.com/990114-jhc/p/11676983.html