热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

MySQL主主复制的搭建

最近一直在忙于MySQL很久没有进行更新了文档了,学霸都快成学渣了,刚好公司搭建了MySQL的主主复制,顺便把文档发出来。希望能够

最近一直在忙于MySQL很久没有进行更新了文档了,学霸都快成学渣了,刚好公司搭建了MySQL的主主复制,顺便把文档发出来。希望能够

前言:最近一直在忙于MySQL很久没有进行更新了文档了,学霸都快成学渣了,刚好公司搭建了MySQL的主主复制,顺便把文档发出来。希望能够帮到大家!

生产环境MySQL主主同步主键冲突处理

MySQL + KeepAlived + LVS 单点写入主主同步高可用架构实验

MySQL 主主同步配置

CentOS 6.3下MySQL主从复制笔记

Linux下的MySQL主主复制

一、环境说明:

IP

主机名

数据库名

连接用户

密码

192.168.47.179

Mysql01

retail

server01

server01

192.168.47.178

Mysql02

retail

server02

server02

二、搭建步骤

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.sql

Enter password:

1.解锁数据库

mysql> UNLOCK TABLES;

2.在mysql02上面创建一个retail的数据库,并进行导入操作;

mysql> create database retail;

mysql -uroot -p 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;

更多详情见请继续阅读下一页的精彩内容:


推荐阅读
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • 成功安装Sabayon Linux在thinkpad X60上的经验分享
    本文分享了作者在国庆期间在thinkpad X60上成功安装Sabayon Linux的经验。通过修改CHOST和执行emerge命令,作者顺利完成了安装过程。Sabayon Linux是一个基于Gentoo Linux的发行版,可以将电脑快速转变为一个功能强大的系统。除了作为一个live DVD使用外,Sabayon Linux还可以被安装在硬盘上,方便用户使用。 ... [详细]
  • 本文介绍了在CentOS 7.x上进行端口映射配置的方法,通过修改内核和配置防火墙实现端口映射。作者分享了自己使用华为服务器进行端口映射的经验,发现网速比直连还快且稳定。详细的配置过程包括开启系统路由模式功能、设置IP地址伪装、设置端口映射等。同时,还介绍了如何监听本地端口的tcp请求,以及删除规则和开放的端口的方法。 ... [详细]
  • 在CentOS/RHEL 7/6,Fedora 27/26/25上安装JAVA 9的步骤和方法
    本文介绍了在CentOS/RHEL 7/6,Fedora 27/26/25上安装JAVA 9的详细步骤和方法。首先需要下载最新的Java SE Development Kit 9发行版,然后按照给出的Shell命令行方式进行安装。详细的步骤和方法请参考正文内容。 ... [详细]
author-avatar
tcystars_628
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有