MySQL 主主配置
一、准备
1、两个数据库版本最好保持一致(因为官方就是这么建议的,主要的问题就是考虑到兼容性问题)
2、连个数据库的数据保持一致,若不一致,可手动调整,比如A比B多一个库,那就将这个库导入到B库,达到一致
A数据库:182.92.172.80
B数据库:123.57.44.85
二、操作
A数据库
1、开启binlog
[mysqld]
log-bin=mysql-bin #开启二进制日志
server-id=1 #设置server-id,不能一样
2、重启mysql,创建同于同步的用户账号
systemctl restart mysql
登陆数据库
mysql -u root -p
创建用户并授权:用户:test,密码:123456,ip:B主机的ip
create user 'test'@'123.57.44.85' identified by '123456';
分配权限
grant replication slave on *.* to 'test'@'123.57.44.85';
flush privileges;
锁表,禁止写入,当前窗口不能退出,这时候开启另一个终端继续操作
flush table with read lock;
3、新窗口操作,查看master状态,记录二进制文件名和位置
show master status;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000003 | 1042 | | |
+------------------+----------+--------------+------------------+
4、将当前数据库导出,如果两个数据库不一致,手动调整
mysqldump -u root -p --all-databases > alldb.sql
5、解锁查看binlog日志位置,如果没变化证明锁定成功。从库将从这个binlog日志开始恢复
unlock tables;
show master status;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000003 | 1042 | | |
+------------------+----------+--------------+------------------+
B数据库操作
1、导入数据
mysql -u root -p < alldb.sql
2、修改配置文件
[mysqld]
log-bin=mysql-bin #开启二进制日志
server-id=2 #设置server-id,必须唯一
3、重启mysql,配置同步
systemctl restart mysql
需要A服务器主机名,登陆凭证,二进制文件名称和位置
change master to master_host='182.92.172.80',
-> master_user='test',
-> master_password='123456',
-> master_log_file='mysql-bin.000003',
-> master_log_pos=1024;
#master_log_pos位置最好在 mysql-bin.000003里面找,用下面这个命令
#mysqlbinlog mysql-bin.000003 > test.txt
4、开启slave,查看slave状态
start slave;
show slave status\G;
5、配置作为A的主
创建用户并授权:用户:test,密码:123456,ip:A主机的ip
create user 'test'@'182.92.172.80' identified by '123456';
分配权限
grant replication slave on *.* to 'test'@'182.92.172.80';
flush privileges;
这次不用锁表了,因为B在同步A数据的时候,已经一致了。
6、新窗口操作,查看master状态,记录二进制文件名和位置
show master status;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000003 | 1042 | | |
+------------------+----------+--------------+------------------+
A数据库操作
1、需要B服务器主机名,登陆凭证,二进制文件名和位置
change master to master_host='123.57.44.85',
-> master_user='test',
-> master_password='123456',
-> master_log_file='mysql-bin.000003',
-> master_log_pos=1024;
#master_log_pos位置最好在 mysql-bin.000003里面找,用下面这个命令
#mysqlbinlog mysql-bin.000003 > test.txt
2、开启查看slave状态
start slave;
show slave status\G;
MySQL 主主配置的更多相关文章
- mysql数据库主从及主主复制配置演示
实验系统:CentOS 6.6_x86_64 实验前提:提前准备好编译环境,防火墙和selinux都关闭 实验说明:本实验共有2台主机,IP分配如拓扑 实验软件:mariadb-10.0.20 实验拓 ...
- MySql数据库主主同步配置步骤
测试环境: 192.168.1.192 192.168.1.193 mysql5.2 配置192服务器: /usr/local/mysql/bin/mysql -uroot -p ...
- mysql主主复制(双主复制)配置步骤
以前我们介绍的都是主从复制,这里给各位介绍一个双主复制了,下面都希望两个主服务器数据自动复制的话可参考一下此文章. MySQL主主复制结构区别于主从复制结构.在主主复制结构中,两台服务器的任何一台 ...
- mysql 主主复制(双主复制)+ 配置KEEPALIVED实现热备
binlog-do-db和replicate-do-db表示需要同步的数据库 binlog-ignore-db和replicate-ignore-db表示不需要同步的数据库 云端服务器为master配 ...
- mysql的主从配置以及主主配置
基础环境 系统:linuxmysql版本:5.5主服务器IP:192.168.1.101从服务器IP:192.168.1.102 1.主服务器(master)要打开二进制日志2.从服务器(slave) ...
- MySQL双主配置
MySQL双主配置 准备环境:服务器操作系统为RHEL6.4 x86_64,为最小化安装.主机A和主机B均关闭防火墙和SELINUX ,IP地址分别为192.168.131.129和192.168.1 ...
- MySQL 主主同步配置和主从配置步骤
★预备知识 : 1.双机热备 对于双机热备这一概念,我搜索了很多资料,最后,还是按照大多数资料所讲分成广义与狭义两种意义来说. 从广义上讲,就是对于重要的服务,使用两台服务器,互相备份,共同执行同一服 ...
- 配置mysql为主主复制步骤
mysql版本:mysql-5.6.24-solaris10-sparc-64bit.tar 操作系统:solaris 11g u10 操作用户:使用非root进行操作安装,a路服务器ip地址为192 ...
- mysql主从配置主主配置
一. 概述 MySQL从3.23.15版本以后提供数据库复制(replication)功能,利用该功能可以实现两个数据库同步.主从模式.互相备份模式的功能.本文档主要阐述了如何在linux系 ...
- MYSQL 双主配置
MYSQL1. 版本号:5.7.243. 部署方式:双主部署,两台机器即是主又是备 ,双向拷贝,可以同时写入.4. 安装部署路径: a) /home/softb) 配置路径 /etc/my.cnfc) ...
随机推荐
- 使用Vue-Router 2实现路由功能
转自:http://blog.csdn.net/sinat_17775997/article/details/54710420 注意:vue-router 2只适用于Vue2.x版本,下面我们是基于v ...
- 通过JS生成由字母与数字组合的随机字符串
在项目中可能需要随机生成字母数字组成的字符,如生成3-32位长度的字母数字组合的随机字符串(位数不固定)或者生成43位随机字符串(位数固定) 使用Math.random()与toString()方法的 ...
- cf997C. Sky Full of Stars(组合数 容斥)
题意 题目链接 \(n \times n\)的网格,用三种颜色染色,问最后有一行/一列全都为同一种颜色的方案数 Sol Orz fjzzq 最后答案是这个 \[3^{n^2} - (3^n - 3)^ ...
- Html5 和 CSS的简单应用
本文是利用几个简单的小例子,来实现html+css的简单应用. 菱形链接菜单 本例是采用html5+css3.0设置的菜单链接.其中主要用到了以下几个方面: CSS3.0中的2D变换,如:旋转tran ...
- Android为TV端助力 关于Fragment你所需知道的一切!
转载自刘明渊 的博客地址:http://blog.csdn.net/vanpersie_9987 Fragment 是 Android API 中的一个类,它代表Activity中的一部分界面:您可以 ...
- Codeup
问题 I: 习题5-10 分数序列求和 时间限制: 1 Sec 内存限制: 12 MB提交: 611 解决: 537[提交][状态][讨论版][命题人:外部导入] 题目描述 有如下分数序列 求出次 ...
- 解决OpenCV JavaCameraView相机preview方向问题
网上找了很多解决都是有问题的,研究了半天源码解决了这个问题.我是从整个相机启动和数据传输的过程着手的,这里捡重点介绍一下,最后会贴上修改后的两个源文件. 首先要知道一个概念. 图里的小圆圈是Home按 ...
- git 入门教程之变基合并
git 鼓励大量使用分支---"早建分支!多用分支!",这是因为即便创建再多的分支也不会造成存储或内存开销,并且分支的作用有助于我们分解逻辑工作,这样一样其实比维护单一臃肿分支要简 ...
- 记录一次spark连接mysql遇到的问题
版权声明:本文为博主原创文章,未经博主允许不得转载 在使用spark连接mysql的过程中报错了,错误如下 08:51:32.495 [main] ERROR - Error loading fact ...
- [20190211]简单测试端口是否打开.txt
[20190211]简单测试端口是否打开.txt --//昨天看一个链接,提到如果判断一个端口是否打开可以简单执行如下:--//参考链接:https://dba010.com/2019/02/04/c ...