Welcome 微信登录

首页 / 数据库 / MySQL / MySQL主主复制的搭建

前言:最近一直在忙于MySQL很久没有进行更新了文档了,学霸都快成学渣了,刚好公司搭建了MySQL的主主复制,顺便把文档发出来。希望能够帮到大家!生产环境MySQL主主同步主键冲突处理 http://www.linuxidc.com/Linux/2013-07/86890.htmMySQL + KeepAlived + LVS 单点写入主主同步高可用架构实验 http://www.linuxidc.com/Linux/2013-05/84002.htmMySQL 主主同步配置 http://www.linuxidc.com/Linux/2013-05/83815.htmCentOS 6.3下MySQL主从复制笔记 http://www.linuxidc.com/Linux/2013-06/85983.htmLinux下的MySQL主主复制 http://www.linuxidc.com/Linux/2013-10/91683.htm一、环境说明:
IP主机名数据库名连接用户密码 
192.168.47.179Mysql01retailserver01server01 
192.168.47.178Mysql02retailserver02server02 
二、搭建步骤2.1 创建数据的连接用户Mysql01上面创建连接用户server01,并且只能通过192.168.47.178进行连接;脚本:mysql> GRANT REPLICATION SLAVE ON retail.* TO "server01"@"192.168.47.178 " IDENTIFIED BY "server01";Mysql02上面创建连接用户server02,并且只能通过192.168.47.149进行连接;脚本:mysql> GRANT REPLICATION SLAVE ON retail.* TO "server02"@"192.168.47.179 " IDENTIFIED BY "server01";2.2 修改mysql的参数文件修改Mysql01的参数文件,在MySQL的主配置文件默认为/etc/my.cnf,修改/添加如下内容server-id = 10 log-bin = mysql-bin replicate-do-db = retail auto-increment-increment = 2 auto-increment-offset = 1
 修改之后,重启msyql生效:service mysqld restart修改Mysql02的参数文件,在MySQL的主配置文件默认为/etc/my.cnf,修改/添加如下内容server-id = 20 log-bin = mysql-bin replicate-do-db = retail auto-increment-increment = 2 auto-increment-offset = 2参数说明:a、server-id数据库的进行数据同步的时候用于标识该语句最初是从哪个server写入的,在进行主主或主从的搭建中,都需要填写;b、auto-increment-increment:在数据库应用,我们经常要用到唯一编号,以标识记录。在MySQL中可通过数据列的AUTO_INCREMENT属性来自动生成。为避免两台主数据库生成的编码重复了,所以需要设置该值,本案例用到两台服务器,所以auto-increment-increment值设为2.3 复制其中的一台服务器的数据库到另外一台服务器因为环境是全新搭建的,所以两个的环境都是一样的,并需要进行数据的初始化工作;需要的话可以通过以下步骤进行操作,以Mysql01为源数据库进行同步,如下操作:
1.锁定数据库,查看状态mysql> FLUSH TABLES WITH READ LOCK;Query OK, 0 rows affected (0.00 sec) mysql> SHOW MASTER STATUS;+------------------+----------+--------------+------------------+| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |+------------------+----------+--------------+------------------+| mysql-bin.000008 | 107 | | |+------------------+----------+--------------+------------------+1 row in set (0.00 sec)显示源数据库处于8号binlog的107位置;1.备份数据库[root@mysql01 ~]# mysqldump --user=root -p retail> /tmp/retail.sqlEnter password:1.解锁数据库mysql> UNLOCK TABLES;2.在mysql02上面创建一个retail的数据库,并进行导入操作;mysql> create database retail;mysql -uroot -p retail < /tmp/retail.sql #导入retail数据库
 
1.查看mysql02数据库的状态 mysql> SHOW MASTER STATUS;+------------------+----------+--------------+------------------+| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |+------------------+----------+--------------+------------------+| mysql-bin.000009 | 107 | | |+------------------+----------+--------------+------------------+1 row in set (0.00 sec)显示备份文件位于9号binlog的107位置;2.4 进行主主的通信连接;a、在mysql01上面进行用户和binlog的确认mysql> CHANGE MASTER TO MASTER_HOST="192.168.47.178",MASTER_USER="server02",MASTER_PASSWORD="server02", MASTER_LOG_FILE="mysql-bin.000008",MASTER_LOG_POS=107;b、在mysql02上面进行用户和binlog的确认mysql> CHANGE MASTER TO MASTER_HOST="192.168.47.179",MASTER_USER="server01",MASTER_PASSWORD="server01", MASTER_LOG_FILE="mysql-bin.000009",MASTER_LOG_POS=107;更多详情见请继续阅读下一页的精彩内容: http://www.linuxidc.com/Linux/2014-10/108699p2.htm
  • 1
  • 2
  • 下一页
EXP导出时DML操作对其导出数据是否有影响物化视图刷新时报0RA-01400的错误相关资讯      MySQL主主复制  主主复制 
  • MySQL数据库主从及主主复制配置演  (08/01/2015 09:34:10)
  • 利用Keepalived构建MySQL主主复制  (11/06/2014 08:16:04)
  • MySQL主主复制+Keepalived 打造高  (09/13/2014 14:24:22)
  • 配置MySQL服务器实现主主复制  (11/06/2014 20:44:40)
  • mysql relay log参数汇总  (11/06/2014 08:12:39)
  • Linux下的MySQL主主复制  (10/20/2013 19:59:35)
本文评论 查看全部评论 (0)
表情: 姓名: 字数

版权所有©石家庄振强科技有限公司2024 冀ICP备08103738号-5 网站地图