之前做过一次在单台机器上的多实例的mysql,这次分开做,使用两台主机。

这里使用的主机地址分别为:

MASTER:192.168.214.135

SLAVE  : 192.168.214.128

这两个主机已经安装过mysql,但是两个数据库数据不一样

主从复制大致步奏

配置MySQL复制基本步骤:

一、master

1、启用二进制日志
log-bin = master-bin
log-bin-index = master-bin.index

2、选择一个惟一server-id
server-id = {0-2^32}

3、创建具有复制权限的用户
REPLICATION SLAVE

二、slave

1、启用中继日志
relay-log = relay-log
relay-log-index =

2、选择一个惟一的server-id
server-id = {0-2^32}

3、连接至主服务器,并开始复制数据;
mysql> CHANGER MASTER TO MASTER_HOST='',MASTER_PORT='',MASTER_LOG_FILE='',MASTER_LOG_FIEL_POS='',MASTER_USER='',MASTER_PASSWORD='';
mysql> START SLAVE;

mysql> START SLAVE IO_Thread;
mysql> START SLAVE SQL_Thread;

下面检查主服务器MASTER的数据库配置文件

[mysqld]
port = 3306
socket = /tmp/mysql.sock
skip-external-locking
key_buffer_size = 256M
max_allowed_packet = 1M
table_open_cache = 256
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size= 16M
thread_concurrency = 8
datadir=/mydata/data
log-bin=master-bin
log-bin-index=master-bin.index

binlog_format=mixed
#relay-log = relay-mysql
#relay-log-index = relay-mysql.index
#auto-increment-increment = 2
#auto-increment-offset = 1
server-id = 1

  下面配置SLAVE的配置文件

[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysqldata
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
server-id = 2
relay-log = relay-log
relay-log-index = relay-log.index
主从数据库的其他配置项有所不同,这里先不管

 一: 上面主从库的配置文件都设置好后,登录到MASTER库上,创建一个具有复制权限的用户

grant replication slave on *.* to 'feng'@'192.168.%.%' identified by 'fsz123';

flush privileges;

slave添加master信息前先查看master库的bin-log日志记录位置节点,master库中执行:

mysql> show master status;
+-------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+-------------------+----------+--------------+------------------+
| master-bin.000029 | 107 | | |
+-------------------+----------+--------------+------------------+
1 row in set (0.01 sec)

 二:登录从库SLAVE 添加master信息

mysql> change master to  master_host='192.168.214.135',master_user='feng',master_password='fsz123',master_log_file='master-bin.000029',master_log_pos=323;
Query OK, 0 rows affected (0.15 sec) mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

 三:启动从库复制:

mysql> SLAVE START;

  执行: show  slave  status\G 查看复制状态

mysql> show slave status\G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.214.135
Master_User: feng
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: master-bin.000029
Read_Master_Log_Pos: 323
Relay_Log_File: relay-log.000002
Relay_Log_Pos: 254
Relay_Master_Log_File: master-bin.000029
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

Replicate_Do_DB:
从库的IO线程和SQL线程已经开启
下面执行show databases; 查看数据库同步状况

  查看从库的数据信息

 Database           |
+--------------------+
| information_schema |
| demo |
| demo222 |
| demo333 |
| mysql |
| performance_schema |
| test
主库里新建的demo222,demo333已经到从库中

  //////////////////////////////////////////////////////////////////////////////////////////////////////

mysql的双主模式配置

  

在上面的基础上,再增加双主复制的实现,实现双主模式,在从库中也要开启二进制日志文件,同时主库中也增加slave中继日志功能

编辑从库my.cnf

log-bin=master-bin
log-bin-index=master-bin.index
binlog_format=mixed

relay-log = relay-mysql
relay-log-index = relay-mysql.index
auto-increment-increment = 2
auto-increment-offset = 2

 编辑主库my.cnf 添加slave日志

log-bin=master-bin
log-bin-index=master-bin.index
binlog_format=mixed

auto-increment-increment = 2   #步进值auto_imcrement。一般有n台主MySQL就填n
auto-increment-offset = 1  #步进值auto_imcrement。一般有n台主MySQL就填n

  #binlog-ignore=mysql   #忽略mysql库【或者其他不需同步复制的库】

   # replicate-do-db=aa   #要同步的数据库,默认所有库【或者其他指定复制的库】

relay-log = relay-mysql
relay-log-index = relay-mysql.index

  在主库中执行change master to 指令

change master to  master_host='192.168.214.128',master_user='feng',master_password='fsz123',master_log_file='master-bin.000001',master_log_pos=107;
mysql> flush privileges;

  启动主库中的复制功能

start   slave;

此时,mysql双主复制完成。

mysql主从复制及双主复制的更多相关文章

  1. MySQL 5.7 双主复制+keepalived,常规业务一般够用了

    业务需求: 为Zabbix搭建2个数据库,一个库给服务器监控用,一个库给网络监控用. 硬件: 两台服务器,硬盘是1.2 T SSD卡,内存128G 架构: 希望做双主复制+keepalived,架构大 ...

  2. Mysql主从复制,双主热备

    Mysql主从复制: 主从复制: 主机准备工作: 开启bin.Log 注意:server-id  是唯一的值 重启mysql:service mysql restart 查看是否开启成功: 查看当前状 ...

  3. mysql主主复制(双主复制)配置步骤

    以前我们介绍的都是主从复制,这里给各位介绍一个双主复制了,下面都希望两个主服务器数据自动复制的话可参考一下此文章.   MySQL主主复制结构区别于主从复制结构.在主主复制结构中,两台服务器的任何一台 ...

  4. 分布式数据存储 - MySQL双主复制

    上篇文章<分布式数据存储 - MySQL主从复制>,我们说到MySQL主从复制很好的保障了从库,读的高可用性.so,问题来了: 1.针对主库,写的高可用性又是如何做到高可用性? 2.如果需 ...

  5. MySQL双主复制

    原文发表于cu:2017-06-12 本文简单介绍MySQL双主复制原理及1个简单是双主复制验证. 一.MySQL双主复制原理 1. 双主复制原理 master-master复制的两台服务器,既是ma ...

  6. linux系统mysql主主复制(双主复制)

    一.简介 在上一篇的主从复制中:http://www.cnblogs.com/lay2017/p/9043985.html 我们了解到,mysql通过master写日志,slave读取并执行日志内容从 ...

  7. mysql 双主复制 centos7

    mysql 安装请看:http://www.cnblogs.com/leohe/p/6839705.html 双主复制设置 1. 两台虚拟机,都是 centos7 主: 10.1.1.115 从: 1 ...

  8. mysql双主复制总结

    双主复制: 1).在两台服务器上各自建立一个具有复制权限的用户: 2).修改配置文件: # 主服务器A上 [mysqld] server-id = 10 log-bin = mysql-bin rel ...

  9. mysql传统主从、双主复制+keepalived配置步骤

    mysql主从.主主复制(双主复制)配置步骤 一:MySQL复制: MySQL复制简介: 将master服务器中主数据库的ddl和dml操作通过二进制日志传到slaves服务器上,然后在master服 ...

随机推荐

  1. Helvetic Coding Contest 2016 online mirror B1

    Description The zombies are gathering in their secret lair! Heidi will strike hard to destroy them o ...

  2. select 下拉框的复选

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAdUAAAFSCAIAAAArbtLAAAAgAElEQVR4nOydd1gUWaK3Z2/YvXd3v7 ...

  3. nginx中文手册内容说明

    1.什么是nginx? Nginx 是一个高性能的 Web 和反向代理服务器, 它具有有很多非常优越的特性: 作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接, ...

  4. Android数据库(1)、SQLite数据库介绍

    一.关系性数据库   关系型数据库主要有以下三个特征,尤为明显,如果没有这个三个特征约束,当多个客户端使用数据的时候就会出现各种各样的错误,所以关系型数据库定义这些约束,让客户端程序只要遵守这个规则便 ...

  5. python基础之循环语句

    一.if条件语句: 语法: 1.if单分支(单重条件判断) if expression: expr_true_suite 注释:expession为真执行代码expr_true_suite if单分支 ...

  6. echarts折柱混合(图表数据与x轴对应显示)

    一天24个小时,每个小时不一定都有对应的数据,所以后台给出的数据,只有每个时间点对应的数据,比如4点,给的是112,5点的242,其他时间没有,则只显示4点,5点时候的数据,那么现在对应的时间点就是后 ...

  7. 【C++】【MFC】创建新的线程函数

    DWORD WINAPI MyThreadProc (LPVOID lpParam){ somestruct* pN = (somestruct*)lpParam; // 将参数转为你的类型 ... ...

  8. zabbix文档3.4-7配置

    zabbix文档3.4-7配置 1 主机和主机组 典型的Zabbix主机是您希望监视的设备(服务器,工作站,交换机等). 创建主机是Zabbix中首个监控任务之一.例如,如果要监视服务器"x ...

  9. 当您在 64 位 Windows 上运行 Regsvr32.exe 时出现错误信息

    尝试运行 Regsvr32.exe 注册在 64 位版本的 Windows 32 位动态链接库 (DLL) 时您会收到以下错误消息: 若要解决此问题,从 %SystemRoot%\Syswow64 文 ...

  10. World Wind Java开发之十一——加载热点信息(仿Google Earth)(转)

    在GE的图层中有一个照片图层,在浏览时可以看到各地的一些图片,我们称之为热点信息,如下图所示: 再来看下本文的实现效果: 效果是不是很像呢,其实实现这个很简单,参照examples中的Balloons ...