当前位置: 首页 > 图文教程 > 数据库 > MYSQL > MYSQL的master/slave数据同步配置

MYSQL
mysql "too many connections" 错误 之 mysql解决方法
MySQL: mysql is not running but lock exists 的解决方法
使用mysql中遇到的几个问题
MySQL一个索引最多有多少个列?真实的测试例子
MySQL里Create Index 能否创建主键 Primary Key
MySQL 创建索引(Create Index)的方法和语法结构及例子
MYSQL 优化常用方法
linux mysql 找回密码
mysql 动态执行存储过程语句
MySQL 查找价格最高的图书经销商的几种SQL语句
MySQL 客户端不输入用户名和密码直接连接数据库的2个方法
mysql 查询表中平均分最低的班级
mysql 左连接、右连接和内连接
Mysql LONGBLOB 类型存储二进制数据 (修改+调试+整理)
Mysql LONGTEXT 类型存储大文件(二进制也可以) (修改+调试+整理)
Mysql 插入中文及中文查询 (修改+调试)
mysql 数据表中查找重复记录
MySql .frm数据库文件导入的问题
解决hibernate+mysql写入数据库乱码
mySQL UNION运算符的默认规则研究

MYSQL的master/slave数据同步配置


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 78 ::
收藏到网摘: n/a

我的测试环境.基本上数据是瞬间同步,希望对大家有帮助
  

  
MySQL数据同步备份

A服务器: 192.168.1.2 主服务器master

B服务器: 192.168.1.3 副服务器slave

A服务器设置
  

以下为引用的内容:
  #MySQL –u root –p
  MySQL>GRANT FILE ON *.* TO [email protected] IDENTIFIED BY ‘1234’;
  MySQL>\exit

  
上面是Master开放一个账号backup密码1234给IP:192.168.1.3有档案处理的权限

MySQLadmin –u root –p shutdown

备份Master所有数据库..通常都用tar指令。

#tar –cvf /tmp/mysql.tar /var/lib/MySQL

注意:tar的时候,MySQL是要在stop情况下

在A机器上修改/etc/my.cnf

在[MySQLd]区段内加入参数
  

以下为引用的内容:
  log-bin
  server-id=1
  sql-bin-update-same
  binlog-do-db=VBb

  
重启A服务器MySQL

此时因为有加入log-bin参数,因此开始有index产生了,在/var/lib/MySQL目录下有.index档案纪录数据库的异动log。

B服务器设置

设定/etc/my.cnf

在[MySQLd]区段加入
  

以下为引用的内容:
  master-host=192.168.1.2
  master-user=backup
  master-password=1234
  master-port=3306
  server-id=2
  master-connect-retry=60 预设重试间隔60秒
  replicate-do-db=vbb 告诉slave只做VBb数据库的更新
  log-slave-updates

  
将A上的MySQL.tar copy到B上

用ftp传B的/tmp

9.解压缩

#cd /var/lib/

状况测试

1、A跟B网络及服务都正常情况下,由A端变化数据后,到B端浏览数据,检视是否有进行replication?!

2、模拟B当机,或是B不一定需要一直跟A有连接。

将由A端变化数据后,到B端浏览数据,B点应该是没有数据变化的
  

以下为引用的内容:
  #tar xvf /tmp/MySQL-snapshot.tar
  #chown –R mysql:mysql MySQL

  
1重启B服务器的MySQL

这时在/var/lib/MySQL目录会出现master.info,此档案纪录了Master MySQL Server的信息。

状况测试

1、A跟B网络及服务都正常情况下,由A端变化数据后,到B端浏览数据,检视是否有进行replication?!

2、模拟B当机,或是B不一定需要一直跟A有连接。
  
将由A端变化数据后,到B端浏览数据,B点应该是没有数据变化的。