- 浏览: 216798 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (121)
- 投资杂记 (6)
- Java技术 (46)
- 记忆 (7)
- 科技随笔 (6)
- 随感 (8)
- 漫谈云计算 (4)
- 生活点滴 (1)
- andriod笔记 (13)
- mysql-数据库 (2)
- OSGI (1)
- Spring Data JPA (1)
- gradle maven nexus (1)
- Java性能优化 多核线程 优化 (2)
- Open-Erp (oe) (8)
- Java技术 camel (1)
- jetty camel dynamicRouter (1)
- karaf (1)
- amqp apollo camel karaf (1)
- Java技术 MyCat (1)
- Java技术 并行调用 线程池 (1)
最新评论
-
白云天:
主机网络端口使用命令: netstat -nplt
centos7.4上安装mysql5.7记录 -
白云天:
登录到 容器内部 docker ps -a查询容器IDsudo ...
docker初探 -
白云天:
export jars to local directory ...
Camel的direct,Bean测试 -
白云天:
location /esb/ { proxy_ ...
Camel的direct,Bean测试 -
白云天:
centos 中添加 shell_script.sh 为开机启 ...
Camel的direct,Bean测试
本文档主要对一个主服务器,一个从服务器(简称一主一从)的复制配置步骤进行说明,一主多从的配置方法其实也是一模一样的,只不过需要增加更多的从服务器,增加的从服务器的设置方法跟第一个从服务器完全一样。
目录
1 第一次配置主从服务器方法
配置说明
这里所说的"第一次配置主从服务器"指的是,已经安装好了MySQL数据库,第一次配置主从复制功能,主数据库中还没有历史数据,因此,如果 MySQL的数据目录下(如果是用RPM包安装数据目录缺省是/var/lib/mysql)已经有多余的文件,比如二进制日志文件mysql- bin.*,master.info,relay-bin.*,relay-log.*,请先删除。以下是一主一从结构的简单拓扑图:
主从复制配置方法
创建复制帐号
在主服务器上创建复制帐号,授予相应的权限。注意,复制帐号的口令最好不要超过6位,而且不要带"#"等特殊字符。创建命令如下:
GRANT REPLICATION SLAVE ON *.* TO ‘帐号名称’@’%’ IDENTIFIED BY ‘口令’
比如:
GRANT REPLICATION SLAVE ON *.* TO ‘repuser’@’%’ IDENTIFIED BY ‘111111’
在主服务器的MySQL配置文件中添加选项,打开二进制日志记录功能
server-id = 16204
log-bin=mysql-bin
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
各个配置选项的说明如下:
server-id = 16204
服务器ID号,整数值,保证唯一标识一台服务器就可以
log-bin=mysql-bin
打开二进制日志
binlog-ignore-db=mysql
忽略mysql数据库复制
binlog-ignore-db=information_schema
忽略information_schema数据库复制
在从服务器的MySQL配置文件中添加相关复制选项
server-id =16214
master-host=172.20.16.204
master-user= repuser
master-password=111111
relay-log=relay-bin
relay-log-index=relay-bin
replicate-ignore-db=mysql
replicate-ignore-db=information_schema
各个配置选项的说明如下:
server-id =16214
服务器ID号,整数值,保证唯一标识一台服务器比如:16214
master-host=172.20.16.204
主服务器IP地址,比如:172.20.16.204
master-user= repuser
主服务器上创建的复制用户帐号名称,比如以上创建的:repuser
master-password=111111
主服务器上创建的复制用户帐号密码,比如以上创建的:111111
relay-log=relay-bin
中继日志名称
relay-log-index=relay-bin
中继索引文件名称
replicate-ignore-db=mysql
忽略mysql数据库复制
replicate-ignore-db=information_schema
忽略information_schema数据库复制
重启服务器
先重启主服务器,起来后再重启从服务器
察看运行状态
在从服务器上执行命令:show slave status\G
如果复制状态Slave_IO_Running,Slave_SQL_Running都为Yes,说明复制已经配置正确
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
测试: 在master 建立 数据库, 表, 插入数据, 到 slave 查询,如有表示成果。
2 从已有主服务器配置一台新的从服务器
配置说明
这里所说的"从已有主服务器配置一台新的从服务器"指的是,主从服务器都已经安装好了MySQL数据库,主服务器已经在运行,需要增加一个新的从服 务器,已经有很多历史数据需要复制到从服务器上。征对这样的应用场景,请按下列方法配置复制。
主从配置方法
打开主服务器二进制日志功能
如果主服务器的二进制日志记录功能没有打开,在MySQL配置参数文件(比如/etc/my.cnf)中添加选项,重启MySQL服务,打开二进制日志功能。
server-id = 16204
log-bin=mysql-bin
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
各个配置选项的说明如下:
server-id = 16204 //服务器ID号,整数值,保证唯一标识一台服务器就可以
log-bin=mysql-bin //打开二进制日志
binlog-ignore-db=mysql //忽略mysql数据库复制
binlog-ignore-db=information_schema //忽略information_schema数据库复制
创建复制帐号
在主服务器上创建复制帐号,授予相应的权限。注意,复制帐号的口令最好不要超过6位,而且不要带"#"等特殊字符。创建命令如下:
GRANT REPLICATION SLAVE ON *.* TO ‘帐号名称’@’%’ IDENTIFIED BY ‘口令’
比如:
GRANT REPLICATION SLAVE ON *.* TO ‘repuser’@’%’ IDENTIFIED BY ‘111111’
备份主服务器的数据文件
执行以下命令,给主服务器所有表加锁,禁止继续写入数据:
FLUSH TABLES WITH READ LOCK;
记录复制启动断点
执行以下命令,记录从服务器开始启动复制的断点,包括日志名和偏移量。
mysql>SHOW MASTER STATUS;
比如:
mysql> show master status\G
File: mysql-bin.000025
Position: 13729
Binlog_Do_DB:
Binlog_Ignore_DB: mysql,information_schema
日志文件名是:mysql-bin.000025
偏移量是:13729
注意,从服务器将从这个位置开始复制。
打包备份主服务器数据文件
打包需要复制的数据库文件,如果数据库文件安装在/var/lib/mysql目录下,可以执行命令:
tar zcf /tmp/backup.tar.gz /var/lib/mysql
该命令将把/var/lib/mysql目录下所有的文件都打包,也包括MySQL的系统表,而系统表一般都是不需要同步到从服务器上的, 所以最好选择你需要复制的数据库目录,进行打包就可以了,如需要复制两个数据库(PRIVATE_DB1 ,PRIVATE_DB2)到从服务器上,只要把这两个目录打包:
tar czf /tmp/backup.tar.gz PRIVATE_DB1 PRIVATE_DB2
主服务器表解锁
执行以下命令,解开主服务器的读锁,主服务器可以继续更新数据:
mysql> UNLOCK TABLES;
在从服务器上恢复主备份文件
在从服务器相应的数据库目录(比如:/var/lib/mysql)上恢复主服务器上备份的数据库文件,恢复时需要关闭从服务器的MySQL服务,比如:
Cd /var/lib/mysql
Tar xzf backup.tar.gz
启动从服务器,设置复制断点
在MySQL中执行以下命令,设置复制开始断点:
change master to master_user=‘repuser’,
master_password=‘654321’ , master_host=‘172.20.16.204’,
master_log_file=‘ mysql-bin.000025’,master_log_pos=13729;
表示从日志文件mysql-bin.000090,位置98开始复制
察看复制状态
在从服务器上执行命令:show slave status\G
如果复制状态Slave_IO_Running,Slave_SQL_Running都为Yes,说明复制已经配置正确
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
发表评论
-
docker初探
2017-08-17 16:49 6231、docker , 先从仓库中下载一个和自己的 ... -
java-nio的hello-word
2017-04-27 17:55 504重点注意:有说明的地 ... -
Java NIO 系列教程
2015-07-02 14:28 884Java NIO提供了与标准IO不同的IO工作方式: ... -
随手记录-设计目录中的jar到类路径
2015-05-07 18:01 791@echo off color 7 SetLocal Enab ... -
gradle和maven结合nexus服务解决jar包依赖
2014-07-17 11:00 16361、架设 nexus nexus 的基础不多讲了,去官网下载 ... -
利用注解定义SQL语句,实现类是iBatis的数据库访问
2014-06-25 18:04 3541import java.lang.annotation.*; ... -
使用 Spring Data JPA 简化 JPA 开发(Spring Data JPA 开发指南)
2014-06-11 15:46 710从一个简单的 JPA 示例开始 本文主要讲述 Spring D ... -
My-sql批量更新或者插入的SQL
2013-09-25 17:03 1386My-sql批量更新或者插入的SQL,高效, MyBatis中 ... -
加减的艺术用于工作学习管理
2013-02-17 17:12 745回顾做过的事情,总结起来,就是先加,后减,再加。 不是吗? ... -
记录到内存的Logger,可用于web动态显示内容的来源
2013-02-17 09:35 1835import java.io.ByteArrayOutputS ... -
一个表达式计算工具
2012-11-21 12:57 782可以计算: 加减乘除,余数,括号 , 结果为整数,操作数全部为 ... -
ms-sql-server获取某表的当前可用的自增值
2012-01-10 09:46 920执行 SQL : select IDENT_CURRENT( ... -
一个加密数字和逗号且减少空间的算法
2010-11-09 17:19 1336注意本算法只能处理由 0,1,2,3,4,5,6,7,8, ... -
云计算笔记
2010-09-01 14:13 809最近得闲,去了解下 hadoop系统,下面为过程记录: 1、 ... -
在MySql上实现Replication(Master 与 Slave 数据同步)
2010-04-23 17:54 1149假设这里有三个数据库分别为 d1、d2、d3,其中d ... -
在一台windows机器上如何安装多个Mysql
2010-04-23 17:41 34161、将mysql程序直接拷贝到某个目录(假设目录为d:\mys ... -
如何得到SqlServer的自增ID
2010-03-16 11:09 5957转自:http://hi.baidu.com/vc60/blo ... -
J2EE集群
2010-01-04 15:29 3633对于理解J2EE集群技术不 ... -
JDBC 调用存储过程的整理
2010-01-04 14:30 1054String sqls = this.getSqls().ge ... -
Jboss下设置一个web-app
2009-12-18 14:06 1178<!--StartFragment --> 虚拟 ...
相关推荐
主从复制机制主要涉及以下步骤: 1. **主服务器**记录所有更改数据的二进制日志(Binary Log)。 2. **从服务器**则将这些二进制日志复制到本地的中继日志(Relay Log)中。 3. **从服务器**处理这些中继日志中的事件,...
以下是关于MySQL主从复制及其在Linux环境下编译安装配置的详细知识: 1. **主从复制的基本概念** - 主节点:执行所有写操作(INSERT、UPDATE、DELETE等)的服务器,其更改的数据会同步到从节点。 - 从节点:接收...
提供的文档“CentOS7安装mysql5.7.19.docx”和“mysql5.7.19主从配置(CentOS7).docx”应包含更详细的步骤和可能遇到的问题解决方案,建议仔细阅读以获取完整信息。在实际操作过程中,务必遵循最佳实践,确保系统的...
MySQL主从复制是一种数据同步机制,它能够实现在多个服务器间的数据一致性。通过这种机制,可以从主服务器(Master)自动地将所有数据库操作(包括DDL和DML语句)复制到一个或多个从服务器(Slave)。这种方式不仅...
以上步骤详细介绍了如何在特定环境下部署MySQL主从复制系统,包括软件版本的选择、环境准备、主从服务器的配置以及同步状态的检查等内容。通过这些步骤,可以有效地完成MySQL主从复制的部署工作,为企业提供稳定高效...
在MySQL 5.7版本中,主从复制机制得到了优化和增强,使得复制更加稳定和高效。在准备进行MySQL主从复制配置之前,需要先完成MySQL的二进制安装,为数据库服务器准备相应的运行环境。 二进制安装包括创建MySQL用户组...
本文将详细介绍如何在两台服务器之间配置 MySQL 5.5 版本的主从复制环境。 #### 二、准备工作 在进行主从复制配置之前,需要确保以下条件已经满足: 1. **两台服务器**:一台作为主服务器(Master),另一台作为从...
配置MySQL主从复制涉及以下几个关键步骤: 1. 启用主节点的二进制日志功能。 2. 设置从节点的连接信息,如主机名、用户名和密码。 3. 在主节点上创建一个用于复制的专用用户。 4. 在从节点上配置复制,使用`CHANGE ...
### MySQL Replication 主从复制与读写分离配置详解 #### 一、背景介绍 ...需要注意的是,在实际部署过程中可能会遇到各种各样的问题,因此需要对MySQL复制机制有深入的理解,并能灵活应对可能出现的各种情况。
文档提供了一些在CentOS系统中操作MySQL的常用命令,如更改配置、启动服务、查看复制状态等。这些命令包括配置MySQL服务器参数、创建复制账号、检查复制状态和管理复制进程等。 在实际操作中,还需要注意网络延迟、...
总结来看,本篇文档提供了在CentOS 7上配置MySQL 8主从备份和每日定时全量备份的详细步骤,并通过实际案例展示了如何解决MySQL数据库连接缓慢的问题。需要注意的是,在实际操作过程中,对于数据库配置文件的修改和...
### MySQL主从服务器配置知识点详解 #### 一、配置背景及目标 在Linux环境下进行MySQL...通过以上步骤,可以在Linux环境下成功配置MySQL的主从复制环境,实现数据的高效同步和备份,提高系统的可用性和数据的安全性。
修改MySQL的配置文件(***f)是进行主从复制设置的关键步骤。在配置文件中添加或修改各种参数,如二进制日志的路径、格式、服务器ID等,都是为了让MySQL服务器按照预设的方式运行。 知识点十五:监控主从复制状态 ...
MySQL的主从复制是一种异步复制机制,涉及三个关键线程:Master端的IO线程、Slave端的IO线程和SQL线程。首先,Slave的IO线程连接到Master,请求特定日志文件之后的内容。Master接收到请求后,读取指定位置的日志...
在Docker中配置MySQL主从复制是一个常见的任务,特别是在分布式系统和高可用性环境中。这里我们将详细探讨如何在Docker容器中设置MySQL主从架构。 首先,我们需要理解MySQL主从复制的基本概念。在MySQL主从复制中,...
MySQL主从复制是一种常见的数据库高可用...总之,这个压缩包中的实践文档和脚本对于学习和部署MySQL主从复制和Redis服务非常有价值。通过实践,你可以深入理解这两个数据库技术的工作机制,提升数据库管理和运维能力。
- **主从复制机制**:MySQL中的主从复制是一种数据复制技术,它将一个数据库(主服务器)的数据复制到另一个或多个数据库(从服务器),以此来确保数据的一致性和可靠性。 - **应用场景**: - **读写分离**:提高...
MySQL的复制机制主要分为三个步骤:主服务器将数据更改记录到二进制日志;从服务器将主服务器的二进制日志拷贝到中继日志;从服务器重做中继日志中的事件,同步数据。此过程确保了主从数据的一致性,但需要注意的是...
本文档主要介绍了 MySQL 5.7 的主从配置和备份,旨在帮助读者快速搭建高可用性的 MySQL 集群环境。文章首先介绍了 MySQL 5.7 的新特性和性能提升,然后详细讲解了主从配置的实现步骤,包括创建用于主从同步的数据库...