一、准备
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) ...
随机推荐
-
跨越千年的RSA算法
转载自http://www.matrix67.com/blog/archives/5100 数论,数学中的皇冠,最纯粹的数学.早在古希腊时代,人们就开始痴迷地研究数字,沉浸于这个几乎没有任何实用价值的 ...
-
[转载]字典树(trie树)、后缀树
(1)字典树(Trie树) Trie是个简单但实用的数据结构,通常用于实现字典查询.我们做即时响应用户输入的AJAX搜索框时,就是Trie开始.本质上,Trie是一颗存储多个字符串的树.相邻节点间的边 ...
-
高质量JavaScript代码书写基本要点学习
高质量JavaScript代码书写基本要点学习 可维护的代码意味着: •可读的 •一致的 •可预测的 •看上去就像是同一个人写的 •已记录 最小全局变量(Minimizing Globals) ...
-
用PlistBuddy修改Plist文件
Plist文件是以.plist为结尾的文件的总称. 众所周知, Plist在Mac OSX系统中起着举足轻重的作用,就如同Windows里面的Registry一样,系统和程序使用Plist文件来存储自 ...
-
selenium 学习笔记 ---新手学习记录(2) 问题总结
今天研究了下ie.chrome.firefox浏览器执行脚本 1.首先firefox下执行时,我是安装在d盘了,所以要更改路径 //如果火狐浏览器没有默认安装在C盘,需要制定其路径 System.se ...
-
Solving the Top ERP and CRM Metadata Challenges with erwin &; Silwood
Registrationhttps://register.gotowebinar.com/register/3486582555108619010 Solving the Top ERP and CR ...
-
2015-11-03 ado.net3
DataReader和DateSet区别: 1. DataReader是一行一行的读,且只能向前读.DateSet是一次性读取出来放到内存中,所以,DataReader读取速度更快,占用内存更低. 2 ...
-
误删除innodb ibdata数据文件 文件句柄 文件描述符 proc fd
误删除innodb ibdata数据文件 文件句柄 文件描述符 proc fd http://www.cnblogs.com/gomysql/p/3702216.html 提示:如果不小心通过 ...
-
25-hadoop-hive-函数
内置函数: 函数分类: 内置函数查看: show funcitons; 查看函数描述: DESC FUNCTION concat; 具体见: https://cwiki.apache.org/conf ...
-
JAVA 传递
其实java里面都是传值,只不过基本数据类型传的是数值,而引用类型传的是对象的地址. 作者:Intopass链接:https://www.zhihu.com/question/31203609/ans ...