设置 MySql 数据同步

来源:网海拾贝  




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条数据。




版权声明: 原创作品,容许转载,转载时请务必以超链接形式标明文章 原始来由 、作者信息和本声明。否则将清查执法责任。

原文地址:https://www.cnblogs.com/zgqjymx/p/1975688.html