您的位置:首页 > 博客中心 > 数据库 >

mysql主从复制配置

时间:2022-03-15 18:18

演示环境如下:

主机名 ip地址
Node-1 192.168.1.10
Node-2 192.168.1.20

 

 

 

 

 

Step1:配置主数据库

 [root@Node-1 ~]# vi /etc/my.cnf

在[mysqld]下添加

server-id=1                                                 //服务器ID,必须唯一
log-bin=mysql-bin                                      //开启binlog功能
binlog-do-db=bbs                                      //指定需要复制的数据库
binlog-ignore-db=mysql

添加完成后,保存,重启mysqld服务。

[root@Node-1 ~]# systemctl restart mariadb.service

Step2:添加数据库同步用户,并且授权

MariaDB [(none)]>grant replication slave on *.* to ‘replicate‘@‘192.168.1.20‘ identified by ‘pwd@123‘;

MariaDB [(none)]>flush privileges;

查看master数据库状态

技术图片

MariaDB [(none)]>flush tables with read lock;

Step3:配置slave服务器

修改my.cnf在[mysqld]中添加:

server-id=2

log-bin=mysql-bin

replicate-do-db=bbs

binlog-ignore-db=mysql

replicate-ignore-db=mysql,information_schema,performance_schema

修改完成后保存配置

MariaDB [(none)]> stop slave;

MariaDB [(none)]> reset slave;

MariaDB [(none)]> change master to master_host=‘192.168.1.10‘,master_user=‘replicate‘,master_password=‘pwd@123‘,master_log_file=‘mysql-bin.000006‘,master_log_pos=3958944;

// master_log_file要和在master上show master status中的值一致,master_log_pos也要一致,记住同步前的锁表操作。

同步完成后在master上解除表锁定。

MariaDB [(none)]>unlock tables;

Step4:主从同步测试

 在slave上查看slave的状态,如下图:

技术图片

在slave上查看bbs数据库中的表是否同步完成

技术图片

热门排行

今日推荐

热门手游