当前位置:  数据库>mysql

mysql同步复制搭建方法指南详细步骤

    来源: 互联网  发布时间:2014-09-06

    本文导语:  1.利用MySQL自身的数据库同步功能(下面参考自网上的文章,写的非常详细了) MySQL从3.23.15版本以后提供数据库复制功能。利用该功能可以实现两个数据库同步,主从模式,互相备份模式的功能. 数据库同步复制功能的设置都在mysql...


1.利用MySQL自身的数据库同步功能(下面参考自网上的文章,写的非常详细了)
MySQL从3.23.15版本以后提供数据库复制功能。利用该功能可以实现两个数据库同步,主从模式,互相备份模式的功能.

数据库同步复制功能的设置都在mysql的设置文件中体现。mysql的配置文件(一般是my.cnf),在unix环境下在/etc/mysql/my.cnf或者在mysql用户的home目录下的my.cnf。

windows环境中,如果c:根目录下有my.cnf文件则取该配置文件。当运行mysql的winmysqladmin.exe工具时候,该工 具会把 c:根目录下的my.cnf命名为mycnf.bak。并在winnt目录下创建my.ini。mysql服务器启动时候会读该配置文件。所以可以把 my.cnf中的内容拷贝到my.ini文件中,用my.ini文件作为mysql服务器的配置文件。

  设置方法:
设置范例环境:
(天天网络禁止字符)作系统:window2000professional
mysql:4.0.4-beta-max-nt-log
Aip:10.10.10.22
Bip:10.10.10.53
A:设置
1.增加一个用户最为同步的用户帐号:
GRANTFILEON*.*TObackup@'10.10.10.53'IDENTIFIEDBY‘1234'
2.增加一个数据库作为同步数据库:
createdatabasebackup
B:设置
1.增加一个用户最为同步的用户帐号:
GRANTFILEON*.*TObackup@'10.10.10.22'IDENTIFIEDBY‘1234'
2.增加一个数据库作为同步数据库:
createdatabasebackup
主从模式:A->B
A为master
修改Amysql的my.ini文件。在mysqld配置项中加入下面配置:
server-id=1
log-bin
#设置需要记录log可以设置log-bin=c:mysqlbakmysqllog设置日志文件的目录,
#其中mysqllog是日志文件的名称,mysql将建立不同扩展名,文件名为mysqllog的几个日志文件。
binlog-do-db=backup#指定需要日志的数据库
重起数据库服务。
用showmasterstatus命令看日志情况。
B为slave  start slave
修改Bmysql的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数据库的更新
重起数据库
用showslavestatus看同步配置情况。
注意:由于设置了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日志文件。同步的线程退出,当纠正错误后要让同步机制进行工作,运行slavestart
重起AB机器,则可以实现双向的热备。
测试:
向B批量插入大数据量表AA(1872000)条
A数据库每秒钟可以更新2500条数据。


2.数据库目录同步,方法和文件同步一样,设置好需要同步的两个数据库目录就可以了!
缺点很明显,数据同步只能单向进行,可以作为备份方案

3.用专用的MySQL同步软件进行同步
这方面的软件有SQLBalance和MyReplicator,优点是方便直观,还有很多争强功能!
缺点和2一样,只能单项同步!
当然你也可以修改镜像网站的程序为提交数据到母数据库,读取则在当前镜像下的数据,不过,修改起来麻烦!普通用户修改也非常难!呵呵,大家了解一下就可以!给大家一个思路!有能力的朋友可以试试阿!

4.关于MySQL论坛的数据同步
由于数据来源的不可控制(不好表达),论坛数据是实时的,而且还要考虑来自镜像论坛的数据,如何实现镜像论坛与母论坛数据同步呢?
用1中介绍的MySQL自带的数据库同步功能互相备份模式就可以实现的!
不过,具体的应用我没有测试!稳定性不敢保证!
有能力的朋友推荐用下面这种思路来同步,相对来说减少点效率,但能减少发生的错误!
比如镜像论坛数据同步:
1.母论坛和镜像论坛的数据全写在母论坛数据库里,主从模式,读取只在本地读取,这个需要修改程序!

2.每次写数据,都同时提交到两个数据库中,安全,但是效率很差,也得修改程序

    
 
 

您可能感兴趣的文章:

  • linux下搭建mysql环境,并用mysql的C语言开发一个程序
  • linux下,该怎么搭建mysql环境
  • 问个古老的话题:如何搭建php+mysql+apache的环境
  • mac下Apache + MySql + PHP搭建网站开发环境
  • Ubuntu10下如何搭建MySQL Proxy读写分离探讨
  • mysql jdbc连接mysql数据库步骤及常见参数详解
  • 如何用命令行进入mysql具体操作步骤
  • sqlserver、mysql获取连接字符串步骤
  • 更改Mysql数据库存储位置的具体步骤
  • MySQL 的 JDBC 下载地址,安装步骤,以及Java的调用方法
  • MYSQL ZIP免安装版配置步骤及图形化管理工具mysql-workbench
  • 修改mysql5.5默认编码(图文步骤修改为utf-8编码)
  • 有谁能具体讲一下安装mysql的步骤吗?(100分相送)
  • MySQL数据库迁移data文件夹位置详细步骤
  • java连接mysql数据库详细步骤解析
  • centos下mysql主从同步快速设置步骤分享
  • 紧急求助:我是哪个步骤错了?MySql老是启动不了!
  • 两大步骤教您开启MySQL 数据库远程登陆帐号的方法
  • win2003 mysql单向同步配置步骤[已测]
  • Windows服务器下MySql数据库单向主从备份详细实现步骤分享
  • Java连接MYSQL数据库的实现步骤
  • 通过HSODBC访问mysql的实现步骤
  • Apache+PHP3+MySQL的安装问题,我按以下步骤操作,怎么不成功/?
  • MySQL 优化设置步骤
  • mysql免安装版配置步骤详解分享
  • php服务器配置(php+mysql+iis)步骤
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 两台Mysql服务器,数据同步
  • 主从多线程同步工具 MySQL-Transfer
  • mysql主从库不同步问题解决方法
  • mysql 触发器实现两个表的数据同步
  • MYSQL5 masterslave数据同步配置方法第1/3页
  • mysql 备份与迁移 数据同步方法
  • mysql主从数据库不同步的2种解决方法
  • 减少mysql主从数据同步延迟问题的详解
  • WEB前端 iis7站长之家
  • 修改PHP、MySQL时区设置实现主机时间同步
  • MYSQL跨服务器同步数据经验分享
  • MYSQL主从库不同步故障一例解决方法
  • linux下指定mysql数据库服务器主从同步的配置实例
  • mysql 双向同步的键值冲突问题的解决方法分享
  • mysql主从同步快速设置方法
  • mysql主从同步复制错误解决一例
  • MYSQL主从不同步延迟原理分析及解决方案
  • Linux下指定mysql数据库数据配置主主同步的实例
  • mysql主从服务器同步心得体会第1/2页
  • win2003 安装2个mysql实例做主从同步服务配置
  • mysql中如何查看最大连接数(max_connections)和修改最大连接数
  • 在 linux下输入"mysql"命令,进入mysql命令行,但出现“Can't connetc to local MySQL server thuough socket /var/lib/mysql/mysql.sock
  • Mysql查询错误:ERROR:no query specified原因
  • MySQL 重装MySQL后, mysql服务无法启动
  • php安装完成后如何添加mysql扩展
  • 为什么用linux安装盘安装了mysql后,启动mysql,提示找不到mysql.sock文件?
  • mysql中查询当前正在运行的SQL语句并找出mysql中运行慢的sql语句
  • 請教,在redhat linux7.2+mysql 中,系統提示mysql已啟動,網頁卻不能訪問mysql?
  • Myeclipse中自带Tomcat的JDBC连接池配置(mysql和mssql)
  • 求解释: useradd -g mysql mysql -d /home/mysql -s /sbin/nologin
  • MySQL Workbench的下载安装与使用教程


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3