来源:网海拾贝
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条数据。
版权声明: 原创作品,容许转载,转载时请务必以超链接形式标明文章 原始来由 、作者信息和本声明。否则将清查执法责任。