日期:2014-05-16  浏览次数:20660 次

MySQL的两种复制模式详解

1 、复制的介绍

?

from www.searchdatabase.com.cn

 MySQL支持单向、异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器。主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环。这些日志可以记录发送到从服务器的更新。当一个从服务器连接主服务器时,它通知主服务器从服务器在日志中读取的最后一次成功更新的位置。从服务器接收从那时起发生的任何更新,然后封锁并等待主服务器通知新的更新。

  请注意当你进行复制时,所有对复制中的表的更新必须在主服务器上进行。否则,你必须要小心,以避免用户对主服务器上的表进行的更新与对从服务器上的表所进行的更新之间的冲突。

  单向复制有利于健壮性、速度和系统管理:

  · 主服务器/从服务器设置增加了健壮性。主服务器出现问题时,你可以切换到从服务器作为份。

  · 通过在主服务器和从服务器之间切分处理客户查询的负荷,可以得到更好的客户响应时间。SELECT查询可以发送到从服务器以降低主服务器的查询处理负荷。但修改数据的语句仍然应发送到主服务器,以便主服务器和从服务器保持同步。如果非更新查询为主,该负载均衡策略很有效,但一般是更新查询。

  · 使用复制的另一个好处是可以使用一个从服务器执行备份,而不会干扰主服务器。在备份过程中主服务器可以继续处理更新。

  MySQL 提供了数据库的同步功能,这对我们实现数据库的冗灾、备份、恢复、负载均衡等都是有极大帮助的

  2 、环境

  用的是radhat 5.1操作系统 mysql5.0.22版本

  master 计算机名: node1 IP 地址: 192.168.0.1

  slave 计算机名: node2 IP 地址: 192.168.0.2

  3 、 mysql 的单向复制

  注意 mysql 数据库的版本,两个数据库版本要相同,或者 slave 比 master 版本低!

  a 、 在 node1 、 node2 上安装没 mysql 软件,通过源码安装

  mysql 软件可以在 http://www.mysql.com 上下载,下来通过 ftp 或则其他的软件上传到服务器上 :

  1)在linux系统中添加运行Mysql的用户和组

  [root@node1 ~]# groupadd mysql

  [root@node1 ~]# useradd -g mysql mysql

  2)解压缩源码包

  [root@node1 ~]# tar -zxvf mysql-5.0.22.tar.gz

  [root@node1 ~]# cd mysql-5.0.22

  3 ) 配置编译

  配置 mysql 的安装目录