MySQL数据库同步的实现

以下的文章主要向大家介绍的是MySQL数据库同步的实际操作步骤以及对实现MySQL数据库同步的实际应用代码与其在实际操作过程中值得我们大家注意的相关事项的描述,希望会给你带来一些帮助在此方面。

在网上我找了一下,大家都说的是这样:“ MySQL从3.23.15版本以后提供数据库复制功能。利用该功能可以实现两个数据库同步,主从模式,互相备份模式的功能。

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

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

window环境中,如果c:根目录下有my.cnf文件则取该配置文件。当运行MySQL\bin\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 [email protected]’10.10.10.53′ IDENTIFIED BY ‘1234’

2.增加一个数据库作为同步数据库:

create database backup

B:设置

1.增加一个用户最为同步的用户帐号:

GRANT FILE ON *.* TO [email protected]’10.10.10.22′ IDENTIFIED BY ‘1234’

2.增加一个数据库作为MySQL数据库同步:


主从模式:A->B

A为master

修改A MySQL的my.ini文件。在MySQLd配置项中加入下面配置:


#设置需要记录log 可以设置log-bin=c:\MySQLbak\MySQLlog 设置日志文件的目录,

#其中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 #MySQL数据库同步用户帐号

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 配置项加入以下设置:


在B的配置文件中 MySQLd 配置项加入以下设置:


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

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

测试:

向B批量插入大数据量表AA(1872000)条

A数据库每秒钟可以更新2500条数据。”

但是我的MySQL是5.1.30-win32的,安装后在C:\Program Files\MySQL\MySQL Server 5.1这个文件夹里根本就没有my.cnf,只有my.ini,有些说要用winMySQLadmin.exe压运行这个文件后就会在c盘的根目录下有一个mycnf.bak文件,同时在C:\WINDOWS文件夹里生成一个my.ini文件。但是我安装了并运行了winMySQLadmin.exe之后,在c盘的根目录下根本就没有一个mycnf.bak文件,我在整个电脑里都没有找到这个文件。不知道我哪里没有做对,忘高手们指点一二。帮助后给高分。

【编辑推荐】

原文地址:https://www.cnblogs.com/syncnavigator/p/10198256.html

时间: 2024-10-08 17:12:18

MySQL数据库同步的实现的相关文章

mysql数据库同步跳过临时错误[转]

mysql数据库同步跳过临时错误slave stop;set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;slave start; 几个跟热备有关的mysql命令:(需要在mysql命令行界面或query ) stop slave #停止同步 start slave #开始同步,从日志终止的位置开始更新. show slave status #查看同步状态 SET SQL_LOG_BIN=0|1 #主机端运行,需要super权限,用来开停日志,随意开停,会造成主机从机数据不一

MySQL数据库同步小工具(Java实现)

近期公司做个报表系统,为了报表系统中复杂的查询条件,不影响线上业务系统的使用,研究了一下MySQL数据库同步,下面用Java代码实现MySQL数据库同步,以便自己查阅! ? 数据库同步实现功能点: 1.支持跨服务器跨库的多线程同步 2.每张表的同步有日志记录 3.每次同步记录数可配置 源码和具体的使用细则,可以到下载源码及使用说明?. ? 一.数据同步核心代码 ? ? ? 二.数据库同步多线程实现 ? ? ? ? 三.配置文件及读取配置文件代码 配置文件内容为: 读取配置文件的Java类为: ?

mysql数据库同步可以针对单张表同步吗?解决办法

mysql数据库同步可以针对单张表同步吗?第一个问题:mysql数据库同步可以针对单张表同步吗? 也就是说1.数据库A里面有a1,a2,a3三张表,数据库B里面只有一张a1表(A与B的a1的表结构式一样的)2.数据库B只同步数据库A中的a1表3.数据库A也要同步B的a1表 注:其实可以认为是数据库A与数据库B的a1表双向同步,即A数据库a1数据有改变,,B数据库a1也要相应改变,同理B数据库a1有改变,A数据库a1也要改变(Aa1<=>Ba1) 第二个问题:配置数据库同步linux与windo

mysql数据库同步部署

1.配置/etc/my.cnf文件 采取双机部署方式,两台机器的配置文件略有不同,如下图所示,server-id设置为不同的数字,auto_increment_offset一台机器设置为1,另外一台机器设置为2. 2.启动mysql服务 #service mysql start #chkconfig mysql on #/usr/bin/mysqladmin -u root password 'mysql.rzrk' 3.主备机配置 确认两台机器MYSQL服务都正确配置并成功启动,然后进行mas

不同服务器的mysql数据库同步

目标: A服务器上自建的数据库同步到B服务器上自建的数据库. 阿里云的RDS数据库A同步到B服务器上自建的数据库. A的数据库名为:mytest 基础:linux,会配置my.cnf 开始: 下面称前者A为主服务器,后者B为从服务器. 先在A服务器查看:sql语句:show master status; 得到File,Position 的值. 'mysql-bin.000039', '1538',  (这个后面要用到) 在B服务器,修改:/etc/my.cnf. 修改前,先停止mysql. 增加

Linux两台服务器mysql数据库同步

我们在做web系统部署的时候往往涉及到两台甚至多台数据库的备份,为了数据安全考虑(虽然说到底不过是一堆0 1,但是价值千金啊),所以我们还是乖乖做同步把! 1.准备两台Linux服务器(主.从) 2.安装好Mysql 3.在配置文件/etc/my.cnf(MySQL中为mysql.ini)修改开启二进制日志 log-bin=mysql-bin 修改方法:打开配置文件后在 [mysqld]中添加内容: server-id = 1 #确保在整个MySQL集群中唯一 log-bin=/var/log/

mysql数据库同步时数据一致性的配置优化

据丢失,而在生产环境中, 每一数据都是要尽量不等丢失,所以,为了提高主从数据一致性和稳定性,降低丢失数据的可能,就需要进行一些配置优化,使用一些特别的设定,使得数据安全更好,但是同时也会影响到mysql数据库的性能,所以就需要在安全和性能之间进行取舍.根据使用的具体环境,选择最适合自身的数据库安全设置.下面就一一介绍和列举几个对主从数据复制安全比较重要的几个配置参数:MySQL版本为5.61.master主库上设置:innodb_flush_log_at_trx_commit=0: log bu

mysql数据库同步

windows xp 下设置数据库同步 环境:两台windows xp系统机器,并且安装同一版本的数据库5.0.17 两台机器Ip A:173.26.100.62 B:173.26.100.61 此例为A为主服务器,B为从服务器,A服务器上的数据变更会更新到B服务器数据库当中步骤: 1 .A机器上创建数据库tsas,设置数据库访问权限,也就是创建一个用户和密码,目的在于在B机器上用创建的这个用户能够正常连接A机器的数据库. grant file on *.* to [email protecte

mysql数据库同步工具

? ?客服QQ1793040 ? 关于HKROnline SyncNavigator 注册机价格的问题 HKROnline SyncNavigator?8.4.1 企业版数据同步软件 自2009年第一个版本开发出来以来,经过8年不断地根据客户需求,加强功能,修复bug,现在已经具备强大的数据库同步功能,以前官方syncnavigator授权码的价格是2800元一套,授权码是绑定电脑硬件的,更换硬件或者电脑,软件无法正常运行,需要重新购买授权码. 今年官方团队有其他项目,没有重点开发市场,其中一个