主从复制(也称 AB 复制)允许将来自一个MySQL数据库服务器(主服务器)的数据复制到一个或多个MySQL数据库服务器(从服务器)。
MySQL主从复制的优点包括:
-
横向扩展解决方案 - 在多个从站之间分配负载以提高性能。在此环境中,所有写入和更新都必须在主服务器上进行。但是,读取可以在一个或多个从设备上进行。该模型可以提高写入性能(因为主设备专用于更新),同时显着提高了越来越多的从设备的读取速度。
-
数据安全性 - 因为数据被复制到从站,并且从站可以暂停复制过程,所以可以在从站上运行备份服务而不会破坏相应的主数据。
-
分析 - 可以在主服务器上创建实时数据,而信息分析可以在从服务器上进行,而不会影响主服务器的性能。
-
备份 - 可以使用从服务器数据进行备份,减轻主服务器的压力。
首先准备好两台拥有数据库的虚拟机,装载配置数据库可以参考主页
Liunx操作系统yum安装MySqlhttps://mp.csdn.net/mp_blog/creation/editor/137627679
关闭防火墙和slinux
systemctl stop firewalld && setenforce 0
master操作
主库开启binlog日志
vim /etc/my.cnf
进入数据库主库创建一个远程登录账号
grant replication slave on *.* to 'slave'@'%' identified by 'password';
刷新权限
flush privileges;
创建目录
mkdir /data/mysql-binlog -p
重启数据库
systemctl restart mysqld
记录binlog日志的位置
slave操作
重启数据库
systemctl restart mysqld
进入数据库后编辑
edit;
CHANGE MASTER TO
MASTER_HOST='master-ip',
MASTER_USER='slave',
MASTER_PASSWORD='password',
MASTER_PORT=3306,
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=871,
MASTER_CONNECT_RETRY=10;
开启slave服务
start slave;
show slave status\G后io、running线程都为yes则说明配置成功
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
如果没有成功可以清除配置
先停止slave stop slave;
清除slave配置 reset slave;
重新进行change master to 配置
mysql主存配置到此结束