zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

Linux下指定mysql数据库数据配置主主同步的实例

2023-06-13 09:14:44 时间

一、概念:

①数据库同步 (主从同步---主数据库写的同时往从服务器写数据)
②数据库同步 (主主同步---两台数据库服务器互相写数据)

二、举例

主主数据库同步服务器配置
数据库服务器(A)主数据库  IP:192.168.1.134
数据库服务器(B)主数据库  IP:192.168.1.138
两台服务器同步的用户名为:bravedu   密码:brave123

一、主数据库操作设置(A):

①创建同步用户名  允许连接的用户IP地址 (非本机IP)

复制代码代码如下:

grantreplicationslaveon*.*to"bravedu"@"192.168.1.%"identifiedby"brave123";
flushprivileges;

②更改mysql配置文件
复制代码代码如下:

[mysqld] 
server-id=1 
log-bin=/www/mysql/binlog/binlog(路径要根据自己的安装设置)
binlog-do-db=dbname(要同步的数据库名)
binlog-ignore-db=mysql

#相对应主从数据库同步不同的地方
复制代码代码如下:
log-slave-updates
sync_binlog=1
auto_increment_offset=1
auto_increment_increment=2
replicate-do-db=dbname
replicate-ignore-db=mysql,information_schema

重启mysql服务器

③查看主数据库同步状态 IP:***.134 

复制代码代码如下:
mysql>flushtableswithreadlock; 
mysql>showmasterstatus\G
***************************1.row***************************
File:mysql-bin.000001   (这里注意设置从服务器的时候要用)
Position:106            (这里注意设置从服务器的时候要用)
Binlog_Do_DB:dbname
Binlog_Ignore_DB:mysql
1rowinset(0.00sec)

mysql>unlocktables;
*****主服务器到目前位置设置完毕*******


二、从数据库操作设置(B):

①创建同步用户名

复制代码代码如下:
grantreplicationslaveon*.*to"bravedu"@"192.168.1.%"identifiedby"brave123";
flushprivileges;

②更改mysql配置文件
复制代码代码如下:
[mysqld] 
server-id=2 
log-bin=/www/mysql/binlog/binlog(路径要根据自己的安装设置)
binlog-do-db=dbname(要同步的数据库名)
binlog-ignore-db=mysql,information_schema
#相对于主从同步不同的地方
binlog-do-db=dbname
binlog-ignore-db=mysql
log-slave-updates
sync_binlog=1
auto_increment_offset=2
auto_increment_increment=2

重启mysql服务器

查看主数据库同步状态 IP:***.138 

复制代码代码如下:
mysql>flushtableswithreadlock; 
mysql>showmasterstatus\G
***************************1.row***************************
File:mysql-bin.000005   (这里注意设置从服务器的时候要用)
Position:106            (这里注意设置从服务器的时候要用)
Binlog_Do_DB:dbname
Binlog_Ignore_DB:mysql
1rowinset(0.00sec)
mysql>unlocktables;

③ 指定主主数据库服务器同步指令
注:IP为主服务器的IP,用户名,密码,log_file,log_post服务器互相统一
可能这块操作需要先 解除锁表、停止数据库状态、在运行后在启动状态
复制代码代码如下:
mysql>stop slave;
#设置192.168.1.138数据库服务器配置那么host配置文件信息就是134的信息
mysql>changemastertomaster_host="192.168.1.134",master_user="bravedu",master_password="brave123",master_log_file="mysql-bin.000005",master_log_pos=106;
#设置192.168.1.134数据库服务器配置那么host等配置文件信息就是134的信息
mysql>changemastertomaster_host="192.168.1.138",master_user="bravedu",master_password="brave123",master_log_file="mysql-bin.000001",master_log_pos=106;
mysql>startslave;
mysql>unlocktables;

④查看主数据库同步状态 会出来很多信息但是主要看这两个状态就行了如果都是yes就可以了
复制代码代码如下:
mysql>showslavestatus\G;
Slave_IO_Running:Yes
Slave_SQL_Running:Yes

至此,主主数据库同步成功配置完成。