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

MYSQL
预防性维护MySQL数据库服务器详解
MySQL服务器内部安全数据目录访问
如何使用MySQL系统的发布与安装
关于MySQL数据库的存储引擎详细介绍
通过数据库引擎来加速MySQL数据库
关于MySQL数据库的用户认证系统分析
在MySQL中获得更好的全文搜索结果
教你如何使用触发器管理MySQL数据库
保护MySQL数据库中重要的数据注意事项
用新的PHP插件实现MySQL为基础的事务
MySQL 4.1数据库中数据转换注意事项
优化MySQL数据库查询的三种方法简介
MySQL数据库批量导入脚本
MySQL中如何灵活运用tips功能
向你介绍MySQL数据库备份的简单知识
通过PHP连接My SQL的两种方法简介
MySQL数据库账户授权的相关管理解析
用Perl DBI连接MySQL数据库
MySQL数据库安全配置
快速修复mysql数据库

MYSQL 中的 设置 MySql 数据同步


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 52 ::
收藏到网摘: 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条数据。