MySQL数据库 主从复制

Mysql 主从复制

主从复制(也称 AB 复制)允许将来自一个MySQL数据库服务器(主服务器)的数据复制到一个或多个MySQL数据库服务器(从服务器)。

在多个从站之间分配负载以提高性能。在此环境中,所有写入和更新都必须在主服务器上进行。但是,读取可以在一个或多个从设备上进行。该模型可以提高写入性能(因为主设备专用于更新),同时显着提高了越来越多的从设备的读取速度。

因为数据被复制到从站,并且从站可以暂停复制过程,所以可以在从站上运行备份服务而不会破坏相应的主数据

主服务器master配置

主服务器:192.168.110.10
从服务器:192.168.110.15

闭防火墙
setenforce 0
iptables -F
vim /etc/my.cnf
server-id = 11    #主服务器id
log-bin=master-bin   #设置二进制日志名
log-slave-updates=true    #从服务器更新二进制日志

systemctl restart mysqld.service
mysql -uroot -p
mysql> grant replication slave on *.* to 'slaveuse'@'192.168.110.%‘ identified by  '123456'; 
#*.* 指的是 全部数据库.所有表,slaveuser 是从服务器登录用的账户,192.168.110.网段的从服务器拥有复制权限
mysql> flush privileges;  '刷新'
mysql> show master status;  #查看从服务器读取位置
+-------------------+----------+--------------+------------------+-------------------+
| File              | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+-------------------+----------+--------------+------------------+-------------------+
| master-bin.000001 |      601 |              |                  |                   |
+-------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)

从服务器配置

配置多台从服务器则server-id不能一样

vim /etc/my.cnf
server-id = 12        #主从服务器id不能一样
relay-log=relay-log-bin      #设置二进制日志名
relay-log-index=slave-relay-bin.index   #从服务器更新二进制日志

systemctl start mysqld
mysql -uroot -p
mysql> change master to master_host='192.168.110.10',master_user='slaveuse',master_password='123456',master_log_file='master-bin.000001',master_log_pos=601;
#在从服务器中添加主服务器,登录用户,密码,日志文件,位置id
mysql> start slave;       #开启主从同步
mysql> show slave status\G;  #查看主从同步情况
......
Slave_IO_Running: Yes    #IO运行正常
Slave_SQL_Running: Yes   #SQL运行正常

最后在主服务器上创建数据库和表,从服务器验证是否同步

猜你喜欢

转载自blog.csdn.net/CN_PanHao/article/details/108285567