学一点 mysql 双机异地热备份

  • 时间:
  • 浏览:0
  • 来源:UU直播快三_UU直播快3平台

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

1. 在B中创建用户;

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

参考:

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

并且 查看A服务器的binary日志位置:

注意图中的红框, 并且 还会 Yes, 说明开启成功。

假设我现在有哪此数据库在A里面。

并且 查看,slave情况汇报是否正常:

B服务器就设置完了。

5. Slave_IO_Running:  指的并且 从服务器上负责读取主服务器的线程池池 工作情况汇报。 从服务器用你这一专门的线程池池 链接到主服务器上,并把日志拷贝回来。

我们歌词 并且 开始。

先停掉mysql服务。  找到这并且 文件,把我们歌词 删掉。 一定要先停掉mysql服务。不然还是不成功。你时需重启一下机器了。 可能性手动kill mysqld。

欢迎我们歌词 访问我的独立博客:http://blog.byneil.com 多多交流。

主服务器可能性做完了, 能只能解除锁定了:

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/

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

我们歌词 能只能在mysql数据目录下,找到你这一文件:

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

我在B中插入了两条数据。 注意看我们歌词 的id。  不解释。

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

这里我们歌词 假设有并且 hello 数据库作为初态。

记住这并且 数值,等会在A里面要用。

好了, 启动mysql并且 。 我们歌词 在来检查一下slave情况汇报:

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

 

里面2个参数让我不解释了。 前面说过了。

我们歌词 先以A服务器为起点,  配置它的数据库同步到B。  这并且 主-从克隆了。 并且 再反过来做一次,就能只能互相备份了。

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

注意红框中所新加带的偏离 。

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

里面并且 用于在 双主(多主循环)互相备份。 可能性每台数据库服务器都可能性在同并且 表中插入数据,可能性表有并且 自动增长的主键,如此 就会在多服务器上出现主键冲突。  处里你这一问題的土办法并且 让每个数据库的自增主键不连续。  上图说是, 我假设时需将来可能性时需10台服务器做备份, 很多很多很多很多auto-increment-increment 设为10.   而 auto-increment-offset=1 表示这台服务器的序号。 从1并且 开始, 不超过auto-increment-increment。

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

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

图中出现了并且 No。

5. 启动同步:

我们歌词 进一步完整性介绍原理的细节, 这有一张图:

我们歌词 在A的数据库里面去 加带数据:

 

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

6. Slave_SQL_Running: 指的并且 专门执行sql的线程池池 。 它负责把克隆回来的Relaylog执行到自己的数据库中。 这并且 参数时需都为Yes 才表明克隆在正常工作。

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

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

重启mysql,  并且 查看slave线程池池 开启了没:

我在A的 hello数据库的test表中 连续插入了3条数据,  注意看我们歌词 的自增长id, 分别是1,11,21.  知道这是为哪此吗。 前面可能性说过了,不懂再回去看。

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

对于并且 mysql服务器, 一般有并且 线程池池 来负责克隆和被克隆。当开启克隆并且 。

这类 我们歌词 在主服务器上查看主情况汇报:

打开 /etc/my.cnf

花了一天时间写你这一博客,我们歌词 要顶啊。

我们歌词 还能只能在从服务器上,查看从服务器的克隆情况汇报。

我使用的是mysql 5.5.34,

把hello.sql 上传到B上, 并且 导入:

看图中的error信息。  说找只能中继日志文件。

当然你这一克隆和重复还会 mysql自动实现的,我们歌词 只时需配置即可。

我们歌词 还是来重点解释途中的红圈的偏离 :

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

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

这两点就构成了 主服务器的情况汇报。  配置从服务器的并且 ,时时需到这并且 值。 告诉从服务器从哪读取主服务器的数据。 (从服务器会登录并且 ,找到你这一日志文件,并从你这一偏移量并且 并且 开始克隆。)

4.  设置从服务器 B 时需克隆的数据库

保存, 重启mysql。

这是并且 主-从克隆的例子。 主-主互相克隆并且 把里面的例子反过来再做一遍。 很多很多很多很多我们歌词 以你这一例子介绍原理。

binlog-do-db 用来表示,只把哪此数据库的改动记录到binary日志中。 能只能写上关注hello数据库。 并且 我把它注释掉了。 并且 展示一下。 能只能写多行,表示关注多个数据库。

(同理,在第二台服务器上插入的第并且 id并且 2, 第二行并且 12, 你这一里面再介绍) 并且 就不需要出现主键冲突了。 里面我们歌词 会演示你这一id的效果。

可能性你刚才导出了多个数据库, 时需把我们歌词 都一一上传导入。

解释一下里面的内容。

很多很多很多很多服务器是默认开启的,我们歌词 这里检查一下:

3. Mysql双机热备实现

binlog-ignore-db 表示,时需忽略哪此数据库。我这里忽略了其他的并且 数据库。

里面的ip地址是B的ip地址, 可能性A把B当做master了。 不解释了。

这是可能性我们歌词 在配置A的中继文件时改了中继文件名,并且 mysql如此 同步。处里土办法很简单。

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

先锁定 hello数据库:

replicate-do-db 能只能指定时需克隆的数据库, 我这里注掉了。 演示一下。

你这一等会在B里面要用。

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

基本跟里面一样:我们歌词 简单其他介绍:

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

并且 我们歌词 ,登录去A中看看,A数据库变了没。

4. Read_Master_log_pos 并且 前面提到的主服务器的日志记录位置, 从服务器根据这并且 条件来挑选克隆的文件和位置。

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

log-slave-updates 意思是,中继日志执行并且 ,哪此变化是否时需计入自己的binarylog。 当你的B服务器时需作为另外并且 服务器的主服务器的并且 时需打开。  并且 双主互相备份,可能性多主循环备份。 我们歌词 这里时需, 很多很多很多很多打开。

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

注意框中心加带的偏离 , 不解释了。

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

在mysql能只能只能查看当前服务器的主,从情况汇报。 随便说说并且 当前服务器的 Binary(作为主服务器角色)情况汇报和位置。 以及其RelayLog(作为从服务器)的克隆进度。

注意图中并且 大大的Yes。  哈哈。

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

我们歌词 看错误日志: mysql的错误日志一般在:

并且 导出数据:

打开B的数据库:

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

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

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

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

3. 第三行,和第四行,表示时需记录的数据库和时需忽略的数据库。 只能时需记录的数据库,其变化才会被写入到mysql-bin.000014日志文件中。  里面会再次介绍这并且 参数。

创建数据库:

发现可能性在这了。 这里效果不直观。

server-id 时需保证每个服务器不一样。 这可能性和循环同步有关。 处里进入死循环。

此时我们歌词 去B服务器中插入2个数据试试:

双机热备的概念简单说一下,并且 要保持并且 数据库的情况汇报自动同步。对任何并且 数据库的操作都自动应用到另外并且 数据库,始终保持并且 数据库数据一 致。 并且 做的好处多。 1. 能只能做灾备,其中并且 坏了能只能切换到并且 。 2. 能只能做负载均衡,能只能将请求分摊到其中任何一台上,提高网站吞吐量。  对于异地热备,尤其适合灾备。废话很多说了。我们歌词 直接进入主题。 我们歌词 会主要介绍两偏离 内容:

其他的参数并且 再介绍。

了解了里面的原理并且 , 我们歌词 来实战。 这里有并且 重点, 要想同步数据库情况汇报, 时需相同的初态,并且 配置同步才有意义。 当然让我何必 初态,这在等你的自由。 我们歌词 这里从头并且 开始配置一遍。

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

Slave_IO_Running: No

把刚才从A服务器上导出的 hello.sql 导入到 B的hello数据库中, 可能性B现在如此 hello数据库,请先创建并且 , 并且 再导入:

此时何必 在B中修改数据。 我们歌词 接着配置从B到A的克隆。  可能性你只时需主从克隆的话, 到这里就并且 开始。里面能只能不看一遍。 所有A中的修改都能自动同步到B, 并且 对B的修改却只能同步到A。 可能性是单向的。 可能性时需双向同步的话,时需再做一次从B到A的克隆。

并且 做并且 , 我在这台服务器上插入的第并且 id并且 1, 第二行的id并且 11了, 而还会 2.

一, mysql 备份工作原理

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

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

原理随便说说很简单,是还会 。

1, 第一步,

用户名为: repl_user

可能性其中并且 是No, 那并且 明不成功。时需查看mysql的错误日志。 我在第一次做的并且 就遇到你这一问題。有并且 密码填错了, 有并且 防火墙的34006如此 打开。ip地址不对,等等。 还会愿因失败。

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

简单的说并且 把 并且 服务器上执行过的sql的话在别的服务器上也重复执行一遍, 并且 并且 我并且 数据库的初态是一样的,如此 它们就能老会 同步。

二, mysql 双机热备实战

一, mysql 备份工作原理

可能性你是全新安装的, 如此 不时需同步初态,直接跳过你这一步,到里面直接查看主服务器情况汇报。

说明slave如此 成功, 即,从B到A的同步如此 成功。 我们歌词 去查看mysql错误日志,前面说过位置:

2. 开启主服务器的 binarylog。

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

到这里主-从克隆可能性打开了。 我们歌词 先来实验一下。

前面三行, 你可能性可能性有了。

3. 我们歌词 不时需导出B的初态了,可能性它并且 才从A导过来。  直接记住它的master日志情况汇报:

Slave_SQL_Running: No

我这里只时需导出hello数据库, 可能性你有多个数据库作为初态的话, 时需导出所有哪此数据库:

文件名应该在等你的机器名, 我这里叫做host1.err 你加带你自己的。

二, 备份实战

并且 重启mysql服务。

能只能看一遍可能性自动同步到A了。

relay_log 中继日志的名字。 前面说到了, 克隆线程池池 时需先把远程的变化拷贝到你这一中继日志中, 在执行。

我们歌词 去看一下B数据库有如此 这三条数据: