Mysql主主安全复制_mysql主从复制和主主复制

两台服务器CentOS 7.6,MySQL5.6

A服务器IP:140.143.196.126

B服务器IP:152.136.142.183

准备工作:如果是阿里或腾讯的服务器一定要在安全组的出入站规则里加入3306端口,在防火墙里放行3306端口!!!

一、主从复制

设A服务器为主:

MySQL配置文件my.cnf(一般Linux中的MySQL配置文件都在/etc/my.cnf;windows中的配置文件为mysql.ini)

开启二进制日志 log-bin=mysql-bin 数据同步的实质就是在其他的MySQL服务器上将这个数据变更的二进制日志再执行一遍。

在A服务器中创建一个B服务器可以登录的MySQL用户(yh为用户名,123456为密码,可自行设定):

mysql>GRANT REPLICATION SLAVE ON *.* TO ‘yh’@’152.136.142.183’ IDENTIFIED BY ‘123456’;

mysql>FLUSH PRIVILEGES;

查看A服务器MySQL二进制文件名与位置 (登录mysql:mysql -u root -p):

mysql>SHOW MASTER STATUS;

cd8e3928caaac958e3ab1c7641f2ce28.png

测试B服务器是否可以连接上A服务器上的MySQL(如果失败,请检查安全组和防火墙):

mysql -h 140.143.196.126 -utest -p123456

告知B服务器A服务器的MySQL二进制文件名与位置,在B服务器中执行(登录mysql:mysql -u root -p):

CHANGE MASTER TO MASTER_HOST='140.143.196.126',

MASTER_USER='yh',

MASTER_PASSWORD='123456',

MASTER_LOG_FILE='mysql-bin.000003',

MASTER_LOG_POS=1171;

开启主从复制:

#开启复制

mysql>START SLAVE;

#查看主从复制是否配置成功

mysql>SHOW SLAVE STATUSG

红框中两项都为Yes则成功

e5d78607c325a4304f5ff78bc9a0e0f1.png

测试:

在A服务器MySQL中执行:

create database author;

use author;

create table info(id int auto_increment,name varchar(32),primary key(id));

insert into info(name) values('LIBAI');

select * from info;

165ae4d499fe2b3d9a32dc7a663bfde1.png

在B服务器MySQL中执行

use author;

select * from info;

165ae4d499fe2b3d9a32dc7a663bfde1.png

可见同步成功!

二、主主复制

需要在MySQL配置文件中增加几项设置:

A服务器:

#任意自然数,保证两台MySQL主机不重复

server-id=1

#开启二进制日志

log-bin=mysql-bin

#步进值auto_imcrement。一般有n台主MySQL就填n

auto_increment_increment=2

#起始值。一般填第n台主MySQL。此时为第一台主MySQL

auto_increment_offset=1

#忽略同步的mysql库,可不设置

binlog-ignore=mysql

binlog-ignore=information_schema

#要同步的数据库,默认所有库

replicate-do-db=author

B服务器:

#任意自然数,保证两台MySQL主机不重复

server-id=2

#开启二进制日志

log-bin=mysql-bin

#步进值auto_imcrement。一般有n台主MySQL就填n

auto_increment_increment=2

#起始值。一般填第n台主MySQL。

auto_increment_offset=2

#忽略同步的mysql库,可不设置

binlog-ignore=mysql

binlog-ignore=information_schema

#要同步的数据库,默认所有库

replicate-do-db=author

在B服务器中增加MySQL用户:

mysql>GRANT REPLICATION SLAVE ON *.* TO ‘yho’@’140.143.196.126’ IDENTIFIED BY ‘123456’;

mysql>FLUSH PRIVILEGES;

查看B服务器MySQL二进制文件名与位置 (登录mysql:mysql -u root -p):

mysql>SHOW MASTER STATUS;

21a5efd6a7ef596e240776f75fe70c09.png

告知A服务器B服务器的MySQL二进制文件名与位置,在A服务器中执行(登录mysql:mysql -u root -p):

CHANGE MASTER TO MASTER_HOST='152.136.142.183',

MASTER_USER='myh',

MASTER_PASSWORD='123456',

MASTER_LOG_FILE='mysql-bin.000003',

MASTER_LOG_POS=1129;

#开启复制

mysql>START SLAVE;

#查看主从复制是否配置成功

mysql>SHOW SLAVE STATUSG

红框中都为Yes则为成功!

090c44f1aacd2822899a648fe557987d.png

测试主主复制:

在AB服务器中各自添加数据

A:

201a739fcbd4f165714d7bd660f40a6b.png

B:

cabae07011a25c4f8021fe01106d6681.png

A:

421f238b59527d43081b266244a18932.png

可以看出配置成功!

本文地址:https://blog.csdn.net/MZ911118/article/details/107133490

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值