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) ...
随机推荐
- IP 地址基本知识
ip地址被分成了5类:A类,B类,C类,D类,E类 私有地址 只能在局域网内使用,不能在internet上使用的ip地址称为私有ip地址,私有ip地址有: 10.0.0.0-10.255.255.25 ...
- 二路归并算法的java实现
“归并”的含义是将两个或者两个以上的有序表组合成一个新的有序表. 假设待排序表含有n个元素,则可以看成是n个有序的子表,每个子表的长度为1,然后两两归并,得到(n/2)或者(n/2+1)个长度为2或1 ...
- Jenkins Jenkins构建历史记录处理
Jenkins构建历史记录处理 by:授客 QQ:1033553122 测试环境 Jenkins2.32.1 操作步骤 Jenkins构建后会生成历史记录,默认存放在如下目录 Jenkins_ho ...
- mysql之用户权限管理
本文内容: 什么是用户权限 恰当的用户权限 查看权限 修改权限 删除权限 首发日期:2018-04-19 什么是用户权限: 每个用户都有自己的用户权限,这些用户权限比如有查询表权限.修改表权限.插入表 ...
- 《node.js权威指南》读书笔记
第一章 node.js介绍 非阻塞型I/O机制 当在访问数据库取得搜索结果的时候,在开始访问数据库之后,数据库返回结果之前,存在一段等待时间. 在传统的单线程处理机制中,在执行了访问数据库的代码之后, ...
- L2-024. 部落
在一个社区里,每个人都有自己的小圈子,还可能同时属于很多不同的朋友圈.我们认为朋友的朋友都算在一个部落里,于是要请你统计一下,在一个给定社区中,到底有多少个互不相交的部落?并且检查任意两个人是否属于同 ...
- lua table排序报错与解决
lua table排序 table的sort函数 比如按照大小进行排序,下面这种写法在某些情况下可能会排序错误,甚至报invalid order function for sorting table. ...
- [HBase_3] HBase 命令
0. 说明 1. HBase 命令 1.1 HBase 与 SQL 的区别 1.2 合并 HBase 中的小文件 major_compact 'test:t1' 1.3 删除数据的区别 HBase 在 ...
- CVE-2017-8464 分析
目录 CVE-2017-8464(stuxnet 3.0) 分析 0xFF 前言 0x00 分析工具 0x01 漏洞复现 1).生成一个DLL用于测试 2).构造一个恶意的lnk二进制文件 3).RU ...
- VS2017 + QT5 + C++开发环境搭建和计算器Demo测试
非常有帮助的参考资料: https://blog.csdn.net/gaojixu/article/details/82185694 该参考文献的主要流程: (1)QT下载安装:从官网下载QT,并记 ...