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主从复制配置的主要内容,如果未能解决你的问题,请参考以下文章