首页 > 数据库 > MySQL > 正文

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

2024-07-24 12:48:49
字体:
来源:转载
供稿:网友

一、 概念:

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

二、 举例

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

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

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

复制代码 代码如下:

grant replication slave on *.* to 'bravedu'@'192.168.1.%' identified by 'brave123';
flush privileges;

② 更改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>flush tables with read lock; 
mysql>show master status/G
*************************** 1. row ***************************
File: mysql-bin.000001    (这里注意 设置从服务器的时候要用)
Position: 106             (这里注意设置从服务器的时候要用)
Binlog_Do_DB: dbname
Binlog_Ignore_DB: mysql
1 row in set (0.00 sec)

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


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

① 创建同步用户名

复制代码 代码如下:

grant replication slave on *.* to 'bravedu'@'192.168.1.%' identified by 'brave123';
flush privileges;

② 更改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>flush tables with read lock; 
mysql>show master status/G
*************************** 1. row ***************************
File: mysql-bin.000005    (这里注意 设置从服务器的时候要用)
Position: 106             (这里注意设置从服务器的时候要用)
Binlog_Do_DB: dbname
Binlog_Ignore_DB: mysql
1 row in set (0.00 sec)
mysql>unlock tables;
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表