mysql互为主从
摘自:
http://flash520.blog.163.com/blog/static/3441447520101029114016823/
A B 为两台MySQL服务器,均开启二进制日志,数据库版本 5.5.2
一、服务器参数
[A 服务器]
server-id = 1
binlog-do-db = test
binlog-ignore-db = mysql
replicate-do-db = test
replicate-ignore-db = mysql
master-host = 192.168.1.100
master-user = backup
master-password = 123
master-port = 3306
master-connect-retry = 10
sync-binlog = 1
[B 服务器]
server-id = 2
binlog-do-db = test
binlog-ignore-db = mysql
replicate-do-db = test
replicate-ignore-db = mysql
master-host = 192.168.1.101
master-user = backup
master-password = 123
master-port = 3306
master-connect-retry = 10
sync-binlog = 1
二、操作步骤
# A B 服务器停止同步
STOP SLAVE;
# A B 服务器清空Master日志
RESET MASTER;
# A 服务器授权同步账户
GRANT REPLICATION SLAVE ON *.* TO 'backup'@'%' IDENTIFIED BY '123';
FLUSH PRIVILEGES;
# A B 服务器锁表(锁表状态下不能终止mysql进程,否则会失败)
FLUSH TABLES WITH READ LOCK;
# 如果使用SSH,需要重新开启,复制数据库文件。
tar -cvf /tmp/mysql-data.tar /usr/local/mysql/data
tar -xvf /tmp/mysql-data.tar /usr/local/mysql/data
# 查看 A 服务器主机状态(记录二进制开始文件,位置)
SHOW MASTER STATUS;
# B 服务器锁表(锁表状态下不能终止mysql进程,否则会失败)
FLUSH TABLES WITH READ LOCK;
# 修改 B 服务器配置
CHANGE MASTER TO MASTER_HOST='192.168.1.100',MASTER_USER='backup', MASTER_PASSWORD='123',MASTER_LOG_FILE='binlog.000001',MASTER_LOG_POS=107;
# 开启 B 服务器同步进程
START SLAVE;
# 查看 B 服务器同步状态是否正常
SHOW SLAVE STATUS;
# 查看 B 服务器主机(记录二进制开始文件,位置)
SHOW MASTER STATUS;
# 修改 A 服务器配置
CHANGE MASTER TO MASTER_HOST='192.168.1.101',MASTER_USER='backup',MASTER_PASSWORD='123',MASTER_LOG_FILE='binlog.000001',MASTER_LOG_POS=107;
# 开启 A 服务器同步进程
START SLAVE;
# 分别查看 A B 服务器同步状态,确定是否成功
SHOW SLAVE STATUS;SHOW MASTER STATUS;
# 解锁 A B 服务器
UNLOCK TABLES;
# 数据测试分别在 A B 服务器上创建表插入数据测试
USE test;
CREATE TABLE `test_aa` (
`id` int(10) unsigned NOT NULL auto_increment,
`string` varchar(30) NOT NULL DEFAULT '0',
`time` datetime NOT NULL DEFAULT '00-00-00 00:00:00',
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
INSERT INTO `test_log_1` VALUES ('', 'test_1', NOW());
SELECT * FROM `test_log_1`;
CREATE DATABASE `test_db_1` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
注意:
1. 数据库目录下的master.info的内容会覆盖命令行或my.cnf中指定的部分选项,更改配置需删除master.info
2. my.cnf中的master配置在MySQL 6.0以后会取消,官方建议使用动态的CHANGE MASTER
3. 如果只指定ignore-db而不指定do-db。则创建数据库的操作也会同步。
互为同步配置实例:
1. A B 互为主从同步test, 不同步mysql:
两个数据库配置中均设置:binlog-do-db=test, binlog-ignore-db=mysql,replicate-do-db=test,replicate-ignore-db=mysql
2. A B 互为主从只同步test,不同步其他数据库,新创建的也不会同步
两个数据库配置中均设置:binlog-do-db=test,replicate-do-db=test
3. A B 互为主从不同步mysql, 同步其他数据库,譬如创建的新数据库也会同步
两个数据库配置中均设置:binlog-ignore-db=mysql,replicate-ignore-db=mysql
4. A B 互为主从同步所有数据库,包括新建的数据库
两个数据库配置中均不设置上述四项
mysql互为主从的更多相关文章
- mysql互为主从实战设置详解及自动化备份(Centos7.2)
mysql互为主从实战设置详解(Centos7.2) 第一步:mysql配置 my.cnf配置 服务器1 (10.89.10.90) [mysqld] server-id=1 log-bin=/ ...
- Keepalived与MySQL互为主从自动切换配置
为解决Mysql数据库单点问题,实现两台MySQL数据库互为主备,双向replication.当一Master出现问题,则将Slave切换为Master继续工作. 环境说明 系统版本:CentOS L ...
- KeepAlived+MySQL互为主从
http://blog.csdn.net/socho/article/details/51804720 解决Master单点问题,两台mysql互为主备,双向replication.当一master挂 ...
- Docker配置mysql互为主从
配置准备 两台机器 两台机器:A(193.168.10.101) B(193.168.10.102) 做好ssh免密登录 mysql大版本需要一致,小版本可忽略 并且两台机器已经安装好了docker ...
- MySql互为主从配置文件及配置方法
# Example MySQL config file for medium systems. # # This is for a system with little memory (32M - 6 ...
- mysql互为主从(双主)配置
环境: ubuntu18.04.2 mysql5.7.21 #创建mysql属组 groupadd mysql useradd -g mysql mysql #查看属组 tail /etc/passw ...
- Centos7源码安装mysql及读写分离,互为主从
Linux服务器 -源码安装mysql 及读写分离,互为主从 一.环境介绍: Linux版本: CentOS 7 64位 mysq版本: mysql-5.6.26 这是我安装时所使用的版本, ...
- Mysql主从复制的配置(双机互为主从)
目的: 让两台mysql服务器可以互为主从提供同步服务. 优点: 1. mysql的主从复制的主要优点是同步"备份", 在从机上的数据库就相当于一个(基本实时)备份库. 2. 在主 ...
- CentOS双机中Docker下安装Mysql并配置互为主从模式
CentOS双机中Docker下安装Mysql并配置互为主从模式 目录 1.搜索镜像... 1 2.拉取镜像... 1 3.绑定端口: 1 4.配置文件(修改/etc/mysql/my.cnf文件): ...
随机推荐
- kbmMW集成JWT
如果对JWT不熟悉,需要先补下功课:初步理解JWT并实践使用 然后找到开源项目:https://github.com/paolo-rossi/delphi-jose-jwt
- REST easy with kbmMW #14 – DB Controlled login
介绍 关于如何使用授权和登录管理来构建应用服务器还存在一些问题,其中之一就是用户及其角色如何在在数据库中定义.该文将解释使用TkbmMWAuthorizationManager解决此问题的一种方法.有 ...
- Maven私服Nexus详解
maven的仓库只有两大类:1.本地仓库 2.远程仓库,在远程仓库中又分成了3种:2.1 中央仓库 2.2 私服 2.3 其它公共库. 私服是一种特殊的远程仓库,它是架设在局域网内的仓库服务,私服代理 ...
- vue 兼容360及safari的方法
1. npm install --save-dev babel-polyfill 2. main.js 中 import "babel-polyfill"; 或者: ...
- 在vmware中实现Ubuntu与win7(主机)之间同步实现共享文件
作为linux的热衷者和初学者,我们在学习的过程中难免会碰到不少的问题,下面简单的介绍和总结一下,我是如何通过以下两种方法解决在vmware中实现Ubuntu与win7(主机)之间同步实现共享文件的. ...
- magento导航栏中如何加入home主页
magento在导航栏中加入home主页是很简单的,几个步骤即可在magento导航栏中加入home主页! 下面简单介绍下如何在magento导航栏中加入home主页: 首先我们打开对应应用的模板文件 ...
- magento如何安装语言包
1,先下安装,直接在www.magento.com(搜索chinese)官网获得下载密钥,然后在下载站点输入密钥就可以下载,下载完成后的安装包放到app/local文件夹下即可,到后台刷新一下: 2线 ...
- ARM 平台下的 SSHD 配置
sshd_config 文件中 允许 root 用户登录 PermitRootLogin yes 配置为内部的 sftp Subsystem sftp internal-sftp key 配置 ssh ...
- socket can demo
http://www.cnblogs.com/zengjfgit/p/5327689.html
- opencv-python教程学习系列7-opencv图像基本操作
前言 opencv-python教程学习系列记录学习python-opencv过程的点滴,本文主要介绍图像的基本操作,坚持学习,共同进步. 系列教程参照OpenCV-Python中文教程: 系统环境 ...