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

所属分类: 数据库 / Mysql 阅读数: 1925
收藏 0 赞 0 分享

一、 概念:

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

二、 举例

主主数据库同步服务器配置
数据库服务器(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;

③  指定主主数据库服务器同步指令
注:IP为主服务器的IP,用户名,密码,log_file,log_post 服务器互相统一
可能这块操作 需要先  解除锁表、停止数据库状态、在运行后 在启动状态
复制代码 代码如下:

mysql > stop  slave;
#设置192.168.1.138数据库服务器配置 那么host 配置文件信息 就是 134的信息
mysql > change master to master_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 > change master to master_host='192.168.1.138', master_user='bravedu', master_password='brave123', master_log_file='mysql-bin.000001', master_log_pos=106;
mysql > start slave;
mysql > unlock tables;

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

mysql>show slave status\G;
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

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

更多精彩内容其他人还在看

MariaDB(MySQL)创建、删除、选择及数据类型使用详解

这篇文章主要介绍了MariaDB(MySQL)创建、删除、选择及数据类型使用详解的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

mysql索引学习教程

在mysql 中,索引可以分为两种类型 hash索引和 btree索引。这篇文章主要介绍了mysql索引的相关知识,非常不错,具有参考借鉴价值,感兴趣的朋友一起看看吧
收藏 0 赞 0 分享

MySQL修改默认字符集编码的方法

这篇文章主要介绍了MySQL修改默认字符集编码的方法的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

MySQL中实现插入或更新操作(类似Oracle的merge语句)

这篇文章主要介绍了在MySQL中实现插入或更新操作(类似Oracle的merge语句)的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

mysql5.x升级到mysql5.7后导入之前数据库date出错的快速解决方法

这篇文章主要介绍了mysql5.x升级到mysql5.7后导入之前数据库date出错的快速解决方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

LNMP下使用命令行导出导入MySQL数据库的方法

这篇文章主要介绍了LNMP下使用命令行导出导入MySQL数据库的方法,需要的朋友可以参考下
收藏 0 赞 0 分享

MySql中的IFNULL、NULLIF和ISNULL用法详解

在做项目中发现MySql里的isnull和mssql里的有点不同。接下来小编通过本文给大家介绍MySql中的IFNULL、NULLIF和ISNULL用法详解的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Mysql 5.7 服务下载安装图文教程(经典版)

MySQL 5.7在诸多方面都进行了大幅的改进,主要在于安全性、灵活性、易用性、可用性和性能等几个方面。这篇文章主要介绍了Mysql5.7服务下载安装图文教程(经典版),需要的朋友可以参考下
收藏 0 赞 0 分享

SQL重复记录查询 查询多个字段、多表查询、删除重复记录的方法

下面小编就为大家带来一篇SQL重复记录查询 查询多个字段、多表查询、删除重复记录的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

mysql socket文件作用详解

这篇文章主要介绍了mysql socket文件作用的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多