当前位置: 首页 > 图文教程 > 数据库 > MYSQL > 设置 MySql 数据同步

MYSQL
轻松接触MaxDB和MySQL之间的协同性
快速解决 MySQL中与浮点比较有关的问题
细化解析:Mysql数据库对文件操作的封装
在MySQL数据库中如何修改密码及访问限制
带你深入了解MySQL语句优化的基本原则
详细讲解如何为MySQL数据库添加新函数
如何解决MySQL的客户端不支持鉴定协议
教你快速掌握更改表中列顺序的好方法
解决MySQL 5.0不能使用自动增加字段问题
讲解MySQL数据库字符集出错的解决方法
如何实现My SQL中的用户的管理问题
教你快速掌握 MySQL数据库中触发器的应用
将数据从MySQL迁移到 Oracle的注意事项
正确认识MySQL对服务器端光标的限制
MySQL的存储过程写法和"Cursor"的使用
怎样才能解决MySQL 5.0.16的乱码问题
MySQL存储过程SAVEPOINT ROLLBACK to
提高MySQL数据库查询效率的三个实用技巧
在MySQL数据库中如何来复位根用户的密码
带你轻松接触MaxDB和MySQL之间的协同性

MYSQL 中的 设置 MySql 数据同步


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

mysql从3.23.15版本以后提供数据库复制功能。利用该功能可以实现两个数据库同步,主从模式,互相备份模式的功能。

数据库同步复制功能的设置都在mysql的设置文件中体现。mysql的配置文件(一般是my.cnf)

在unix环境下在/etc/mysql/my.cnf 或者在mysql用户的home目录下面的my.cnf。

window环境中,如果c:根目录下有my.cnf文件则取该配置文件。当运行mysql的winmysqladmin.exe工具时候,该工具会把c:根目录下的my.cnf 命名为mycnf.bak。并在winnt目录下创建my.ini。mysql服务器启动时候会读该配置文件。所以可以把my.cnf中的内容拷贝到 my.ini文件中,用my.ini文件作为mysql服务器的配置文件。
设置方法:
设置范例环境:
操作系统:window2000 professional
mysql:4.0.4-beta-max-nt-log
A ip:10.10.10.22
B ip:10.10.10.53
A:设置
1.增加一个用户最为同步的用户帐号:
GRANT FILE ON *.* TO backup@'10.10.10.53' IDENTIFIED BY ‘1234’
2.增加一个数据库作为同步数据库:
create database backup
B:设置
1.增加一个用户最为同步的用户帐号:
GRANT FILE ON *.* TO backup@'10.10.10.22' IDENTIFIED BY ‘1234’
2.增加一个数据库作为同步数据库:
create database backup


主从模式:A->B
A为master
修改A mysql的my.ini文件。在mysqld配置项中加入下面配置:
server-id=1
log-bin
#设置需要记录log 可以设置log-bin=c:mysqlbakmysqllog 设置日志文件的目录,
#其中mysqllog是日志文件的名称,mysql将建立不同扩展名,文件名为mysqllog的几个日志文件。
binlog-do-db=backup #指定需要日志的数据库

重起数据库服务。
用show master status 命令看日志情况。

B为slave
修改B mysql的my.ini文件。在mysqld配置项中加入下面配置:
server-id=2
master-host=10.10.10.22
master-user=backup #同步用户帐号
master-password=1234
master-port=3306
master-connect-retry=60 预设重试间隔60秒
replicate-do-db=backup 告诉slave只做backup数据库的更新

重起数据库
用show slave status看同步配置情况。

注意:由于设置了slave的配置信息,mysql在数据库目录下生成master.info
所以如有要修改相关slave的配置要先删除该文件。否则修改的配置不能生效。

双机互备模式。

如果在A加入slave设置,在B加入master设置,则可以做B->A的同步。
在A的配置文件中 mysqld 配置项加入以下设置:
master-host=10.10.10.53
master-user=backup
master-password=1234
replicate-do-db=backup
master-connect-retry=10

在B的配置文件中 mysqld 配置项加入以下设置:
log-bin=c:mysqllogmysqllog
binlog-do-db=backup

注意:当有错误产生时*.err日志文件。同步的线程退出,当纠正错误后要让同步机制进行工作,运行slave start

重起AB机器,则可以实现双向的热备。

测试:
向B批量插入大数据量表AA(1872000)条
A数据库每秒钟可以更新2500条数据。