学一点 mysql 双机异地热备份

  • 时间:
  • 浏览:0

亲戚亲戚朋友开始。

后面 的ip地址是B的ip地址, 完会A把B当做master了。 不解释了。

参考:

3.  获取主服务器情况报告, 和同步初态。

注意图中的红框, 八个 全版完会Yes, 说明开启成功。

注意图中八个 大大的Yes。  哈哈。

之类于亲戚亲戚朋友在主服务器上查看主情况报告:

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

1, 第一步,

亲戚亲戚朋友进一步全版介绍原理的细节, 这有一张图:

relay_log 中继日志的名字。 前面说到了, 克隆技术程序非要先把远程的变化拷贝到这个 中继日志中, 在执行。

好多好多 服务器是默认开启的,亲戚亲戚朋友这里检查一下:

4. 高性能Mysql主从架构的克隆技术原理及配置详解http://blog.csdn.net/hguisu/article/details/7325124

1. 第一行表明 当前正在记录的 binarylog文件名是: mysql-bin.000014.

1. 作为主服务器Master,  会把村里人 的每一次改动都记录到 二进制日志 Binarylog 中。 (从服务器会负责来读取这个 log, 完会在村里人 那里再执行一遍。)

理解了这个 原理, 多机循环互备就简单了。这里就不再展开了。

看图中的error信息。  说找非要中继日志文件。

在mysql上都非要查看当前服务器的主,从情况报告。 实在倘若当前服务器的 Binary(作为主服务器角色)情况报告和位置。 以及其RelayLog(作为从服务器)的克隆技术进度。

完会导出数据:

后面 2个参数完会你不解释了。 前面说过了。

4. Read_Master_log_pos 倘若前面提到的主服务器的日志记录位置, 从服务器根据这八个 条件来选则克隆技术的文件和位置。

注意框中心加在的每种, 不解释了。

开启同步, 在B服务器上执行:

完会查看,slave情况报告是否是正常:

打开从服务器 B 的 /etc/my.cnf 文件:

好了, 启动mysql前一天。 亲戚亲戚朋友在来检查一下slave情况报告:

1.  Master_host 指的是 主服务器的地址。 

先停掉mysql服务。  找到这八个 文件,把亲戚亲戚朋友删掉。 一定要先停掉mysql服务。不然还是不成功。你非要重启一下机器了。 完会手动kill mysqld。

这是完会亲戚亲戚朋友在配置A的中继文件时改了中继文件名,完会mysql那末 同步。避免土方式很简单。

我来解释一下红框中的配置:

 

server-id 非要保证每个服务器不一样。 这完会和循环同步有关。 避免进入死循环。

简单的说倘若把 八个 服务器上执行过的sql语句在别的服务器上也重复执行一遍, 原本倘若八个 数据库的初态是一样的,那末 它们就能老会 同步。

亲戚亲戚朋友还是来重点解释途中的红圈的每种:

欢迎亲戚亲戚朋友访问我的独立博客:http://blog.byneil.com 多多交流。

许多的参数前一天再介绍。

亲戚亲戚朋友还都非要在从服务器上,查看从服务器的克隆技术情况报告。

此时亲戚亲戚朋友去B服务器中插入2个数据试试:

基本跟后面 一样:亲戚亲戚朋友简单许多介绍:

保存, 重启mysql。

replicate-ignore-db 克隆技术时非要排除的数据库, 我使用了,这个 。 除开系统的2个数据库之外,所有的数据库都克隆技术。

2.  第二行, 107. 表示当前的文件偏移量, 倘若写入在mysql-bin.000014 文件的记录位置。

一, mysql 备份工作原理

记住这八个 数值,等会在A后面 要用。

到这里主-从克隆技术完会打开了。 亲戚亲戚朋友先来实验一下。

1. 在B中创建用户;

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

证明从B到A的克隆技术也成功了。

 

一, mysql 备份工作原理

原理实在很简单,是全版完会。

我使用的是mysql 5.5.34,

(同理,在第二台服务器上插入的第八个 id倘若2, 第二行倘若12, 这个 后面 再介绍) 原本就不不冒出主键冲突了。 后面 亲戚亲戚朋友会演示这个 id的效果。

3. Master_log_file 倘若前面提到的, 主服务器上的日志文件名.

5. Slave_IO_Running:  指的倘若从服务器上负责读取主服务器的程序工作情况报告。 从服务器用这个 专门的程序链接到主服务器上,并把日志拷贝回来。

亲戚亲戚朋友去看一下B数据库有那末 这三条数据:

密码为: hj34$********nkb

假设我现在有哪几种数据库在A后面 。

2. MySQL数据同步【双主热备】http://www.cnblogs.com/zhongweiv/archive/2013/02/01/mysql_replication_circular.html

亲戚亲戚朋友都非要在mysql数据目录下,找到这个 文件:

这个 等会在B后面 要用。

后面 把ip地址加在B机器的ip地址。 只允许B登录。安全。

3. 亲戚亲戚朋友不非要导出B的初态了,完会它前一天才从A导过来。  直接记住它的master日志情况报告:

3. Mysql双机热备实现

2. Master_user 指的是主服务器上用来克隆技术的用户。  从服务器会用此账号来登录主服务。进行克隆技术。

完会你是全新安装的, 那末 不非要同步初态,直接跳过这个 步,到后面 直接查看主服务器情况报告。

5. 导入初态, 开始同步。

上图含高八个 服务器, 演示了从八个 主服务器(master) 把数据同步到从服务器(slave)的过程。

打开B的数据库:

binlog-ignore-db 表示,非要忽略哪几种数据库。我这里忽略了许多的八个 数据库。

完会重启mysql服务。

发现完会在这了。 这里效果不直观。

2. 开启主服务器的 binarylog。

3. 第三行,和第四行,表示非要记录的数据库和非要忽略的数据库。 非要非要记录的数据库,其变化才会被写入到mysql-bin.000014日志文件中。  后面 会再次介绍这八个 参数。

http://gitsea.com/2013/06/16/mysql-keepalived-%E5%AE%9E%E7%8E%B0%E5%8F%8C%E4%B8%BB%E7%83%AD%E5%A4%87%E8%AF%BB%E5%86%99%E5%88%86%E7%A6%BB/

5.   mysql 基于 master-master 的双机热备配置

了解了后面 的原理前一天, 亲戚亲戚朋友来实战。 这里有八个 重点, 要想同步数据库情况报告, 非要相同的初态,完会配置同步才有意义。 当然完会你未必初态,这有你在的自由。 亲戚亲戚朋友这里从头开始配置一遍。

稍微解释一下这几行的意思:

这两点就构成了 主服务器的情况报告。  配置从服务器的前一天,非要用到这八个 值。 告诉从服务器从哪读取主服务器的数据。 (从服务器会登录前一天,找到这个 日志文件,并从这个 偏移量前一天开始克隆技术。)

Slave_SQL_Running: No

在A后面 创建专门用于备份的 用户:

http://yunnick.iteye.com/blog/1845501

图中冒出了八个 No。

2. 作为从服务器Slave, 会用master上的账号登陆到 master上, 读取master的Binarylog,  写入到村里人 的中继日志 Relaylog, 完会村里人 的sql程序会负责读取这个 中继日志,并执行一遍。  到这里主服务器上的更改就同步到从服务器上了。

Slave_IO_Running: No

4.  设置从服务器 B 非要克隆技术的数据库

我在A的 hello数据库的test表中 连续插入了3条数据,  注意看亲戚亲戚朋友的自增长id, 分别是1,11,21.  知道这是为哪几种吗。 前面完会说过了,不懂再回去看。

注意红框中所新加在的每种。

完会亲戚亲戚朋友,登录去A中看看,A数据库变了没。

亲戚亲戚朋友先以A服务器为起点,  配置它的数据库同步到B。  这倘若主-从克隆技术了。 前一天再反过来做一次,就都非要互相备份了。

1. mysql-keepalived-实现双主热备读写分离

都非要看到完会自动同步到A了。

花了一天时间写这个 博客,亲戚亲戚朋友要顶啊。

我这里只非要导出hello数据库, 完会你有多个数据库作为初态语句, 非要导出所有哪几种数据库:

后面 八个 用于在 双主(多主循环)互相备份。 完会每台数据库服务器都不 后后在同八个 表中插入数据,完会表有八个 自动增长的主键,那末 就会在多服务器上冒出主键冲突。  避免这个 哪几种的难题的土方式倘若让每个数据库的自增主键不连续。  上图说是, 我假设非要将来完会非要10台服务器做备份, 好多好多 auto-increment-increment 设为10.   而 auto-increment-offset=1 表示这台服务器的序号。 从1开始, 不超过auto-increment-increment。

我在B中插入了两条数据。 注意看亲戚亲戚朋友的id。  不解释。

创建数据库:

这是八个 主-从克隆技术的例子。 主-主互相克隆技术倘若把后面 的例子反过来再做一遍。 好多好多 亲戚亲戚朋友以这个 例子介绍原理。

重启mysql,  完会查看slave程序开启了没:

找到  机器名.err 文件,打开看看:

先锁定 hello数据库:

B服务器就设置完了。

完会其中八个 是No, 那倘若明不成功。非要查看mysql的错误日志。 我在第一次做的前一天就遇到这个 哪几种的难题。有前一天密码填错了, 有前一天防火墙的3506那末 打开。ip地址不对,等等。 完会意味失败。

原本做前一天, 我在这台服务器上插入的第八个 id倘若 1, 第二行的id倘若 11了, 而全版完会2.

完会查看A服务器的binary日志位置:

亲戚亲戚朋友看错误日志: mysql的错误日志一般在:

把hello.sql 上传到B上, 完会导入:

6. Slave_SQL_Running: 指的倘若专门执行sql的程序。 它负责把克隆技术回来的Relaylog执行到村里人 的数据库中。 这八个 参数非要都为Yes 才表明克隆技术在正常工作。

完会你刚才导出了多个数据库, 非要把亲戚亲戚朋友都一一上传导入。

log-slave-updates 意思是,中继日志执行前一天,哪几种变化是否是非要计入村里人 的binarylog。 当你的B服务器非要作为另外八个 服务器的主服务器的前一天非要打开。  倘若双主互相备份,完会多主循环备份。 亲戚亲戚朋友这里非要, 好多好多 打开。

二, 备份实战

文件名应该有你在的机器名, 我这里叫做host1.err 你加在你村里人 的。

主服务器完会做完了, 都非要解除锁定了:

用户名为: repl_user

亲戚亲戚朋友在A的数据库后面 去 加在数据:

这里亲戚亲戚朋友假设有八个 hello 数据库作为初态。

二, mysql 双机热备实战

前面三行, 你完会完会有了。

说明slave那末 成功, 即,从B到A的同步那末 成功。 亲戚亲戚朋友去查看mysql错误日志,前面说过位置:

记住这个 文件名和 位置, 等会在从服务器上会用到。

binlog-do-db 用来表示,只把哪几种数据库的改动记录到binary日志中。 都非要写上关注hello数据库。 完会我把它注释掉了。 倘若展示一下。 都非要写多行,表示关注多个数据库。

把刚才从A服务器上导出的 hello.sql 导入到 B的hello数据库中, 完会B现在那末 hello数据库,请先创建八个 , 完会再导入:

5. 启动同步:

此时未必在B中修改数据。 亲戚亲戚朋友接着配置从B到A的克隆技术。  完会你只非要主从克隆技术语句, 到这里就开始了。后面 都非要不看到。 所有A中的修改都能自动同步到B, 完会对B的修改却非要同步到A。 完会是单向的。 完会非要双向同步语句,非要再做一次从B到A的克隆技术。

解释一下后面 的内容。

打开 /etc/my.cnf

双机热备的概念简单说一下,倘若要保持八个 数据库的情况报告自动同步。对任何八个 数据库的操作都自动应用到另外八个 数据库,始终保持八个 数据库数据一 致。 原本做的好处多。 1. 都非要做灾备,其中八个 坏了都非要切换到原本。 2. 都非要做负载均衡,都非要将请求分摊到其中任何一台上,提高网站吞吐量。  对于异地热备,尤其适合灾备。废话那末 来过多说了。亲戚亲戚朋友直接进入主题。 亲戚亲戚朋友会主要介绍两每种内容:

4. 登录到A 服务器。 开启中继:

当然这个 克隆技术和重复全版完会mysql自动实现的,亲戚亲戚朋友只非要配置即可。

replicate-do-db 都非要指定非要克隆技术的数据库, 我这里注掉了。 演示一下。

感谢亲戚亲戚朋友在上一篇 学许多Git--20分钟git快速上手 里的踊跃发言。这里再次分享干货, 简单介绍mysql双机,多机异地热备简单原理实战。

至此, AB双主互相热备就介绍完了。

对于八个 mysql服务器, 一般有八个 程序来负责克隆技术和被克隆技术。当开启克隆技术前一天。

2. 打开 /etc/my.cnf , 开启B的binarylog: