mysql主从复制配置

Posted Cyber Security

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql主从复制配置相关的知识,希望对你有一定的参考价值。

演示环境如下:

主机名 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数据库中的表是否同步完成

以上是关于mysql主从复制配置的主要内容,如果未能解决你的问题,请参考以下文章

安全最重要!MySQL配置主从复制,主主复制

mysql主从复制概述以及配置mysql5.7.10实现简单主从复制

Redis主从复制的配置过程

docker 配置mysql8主从复制出现的问题

MySQL主从复制

如何解决mysql主从复制带来的数据延迟问题