1、简要介绍:mysql从3.23.15版本以后提供数据库复制功能。利用该功能可以实现两个数据库同步,主从模式(A->B),互相备份模式(A<=>B)的功能。
mysql 数据库同步复制功能的设置都在mysql的配置文件中体现。在linux环境下的配置文件一般在/etc/mysql/my.cnf或者在mysql用户的home目录下的my.cnf,笔者的my.cnf则在/etc/my.cnf;windows环境下则可到mysql安装路径下找到my.ini。
2、下面我们来看看如何配置数据同步(A->B):
(笔者mysql版本 5.0.26)
假设数据库A为主机(将向B提供同步服务,即B中的数据来自A):
A机器:
IP = 192.168.1.101
B机器:
IP = 192.168.1.102
(1).在A机器中有数据库如下:
//数据库A
CREATE DATABASE backup_db;
USE backup_db;
CREATE TABLE `backup_table` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(20) character set utf8 NOT NULL,
`sex` varchar(2) character set utf8 NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
#A机器的my.cnf(或my.ini)中应该配置:
server-id=1
log-bin=c:\mysqlback #同步事件的日志记录文件
binlog-do-db=backup_db #提供数据同步服务的数据库
(2).在B机器中有数据库如下:
//数据库B
CREATE DATABASE backup_db;
USE backup_db;
CREATE TABLE `backup_table` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(20) character set utf8 NOT NULL,
`sex` varchar(2) character set utf8 NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
注:数据库A和B的数据库结构一定要相同,否则无法构成同步。
#B机器的my.cnf(或my.ini)中应该配置:
server-id=2
master-host=192.168.1.101 #主机A的地址
master-user=ym #主机A提供给B的用户,该用户中需要包括数据库backup_db的权限
master-password=ym #访问密码
master-port=3306 #端口,主机的MYSQL端口
master-connect-retry=60 #重试间隔60秒
replicate-do-db=backup_db #同步的数据库
(3).完成了以上配置之后,将A的mysql数据库的连接权限给B,即为B创建一个用户。
A机器:
mysql>grant replication slave on *.* to 'laoda'@'192.168.0.2' identified by 'laoda';
(4).重启AB数据库,后:
B机器:
mysql>slave start;
查看同步配置情况
A机器:
mysql>show master status;
B机器:
mysql>show slave status;
(5).在A中的backup_db.backup_table表中插入一些数据,查看B中的backup_db.backup_table表是否同步了数据改动。如果没有看到同步数据结果,即同步不成功,请查看错误(如下)。
当有错误产生时*.err日志文件(可到mysql安装目录下找),同步的线程退出。当纠正错误后重复步骤(4)。
3、实现双向热备(A<=>B):
将以上的(1)-(5)步骤按A-B双向配置即可。
文章整理:
http://jnotnull.iteye.com/blog/154648
http://zhidao.baidu.com/question/78562266.html
http://topic.csdn.net/t/20060701/16/4854639.html
分享到:
相关推荐
MySQL 数据库同步复制是一种强大的技术,它允许两个或多个数据库实例之间保持数据一致性。这种功能在高可用性、灾难恢复和负载均衡场景中至关重要。在MySQL中,同步复制主要通过主从模式和双机互备模式来实现。 1. ...
【MySQL数据库同步】 在当前数字化时代,MySQL数据库的同步至关重要,因为它们承载着大量关键业务数据。MySQL是一个广泛应用的开源关系型数据库管理系统,尤其在中小型企业及网站中颇为流行,因其小巧、快速、成本...
mysql数据库同步canal框架分享PPT mysql数据库同步canal框架分享PPT
总结来说,SQL Server与MySQL数据库同步是一个复杂的过程,涉及多个步骤和技术选择。根据项目需求和资源,可以选择最合适的同步策略和工具,以实现高效、安全的数据同步。在实施过程中,务必对可能遇到的问题进行...
MySQL 数据库同步是指通过特定的技术手段实现在多个MySQL数据库实例之间复制数据的过程。这种技术对于构建高可用性、高性能以及容灾备份等场景至关重要。本文将详细介绍MySQL 3.23.15版本之后提供的数据库同步功能,...
以上就是使用Java实现两个MySQL数据库同步的主要步骤和涉及的技术点。在实际开发中,你可能还需要关注性能优化、安全性、可扩展性等问题。通过这种方式,你可以构建一个可靠的数据库同步系统,保证数据的一致性,...
树莓派开发笔记(十七):树莓派 4B+ 上 Qt 多用户连接操作 Mysql 数据库同步(单条数据悲观锁) 本篇文章主要讲述了树莓派 4B+ 上使用 Qt 框架连接 Mysql 数据库,并实现多用户连接操作和悲观锁机制,以解决数据...
【标题】:“从sqlserver同步数据到Mysql数据库”是一个典型的跨数据库系统数据迁移的案例。在信息技术领域,数据迁移是常见的操作,特别是在企业级应用中,可能由于业务需求、性能优化或者系统升级等原因,需要将...
这时,就需要第三方工具介入,如标题所提及的“数据库同步备份工具”。 这类工具通常具有以下特性: 1. **实时同步**:允许用户设置实时或计划的任务,以保持两个数据库之间的数据一致性。 2. **双向同步**:不仅...
MySQL数据库同步和主主同步是数据库管理中的重要概念,尤其对于需要实时数据共享或高可用性的系统至关重要。这里我们详细探讨这两个主题,并介绍如何通过特定的脚本来简化这一过程。 首先,**数据库同步**指的是将...
同步当前数据库和服务器数据库的数据,使得两个数据库的数据一致,这个属于sql的高级应用,相信对你们都很有用处,也可以对你们的数据库能用有所提示,是一篇比较好的资料,由于该资料是本人开发的,所以希望尊重...
通过解析binlog日志增量更新到mysql数据库的一个服务
详细记录如果配置MYSQL及代码运行,完美解决两台服务器中的mysql同步问题