在MySql上实现Replication(Master 与 Slave 数据同步)

   假设这里有三个数据库分别为 d1、d2、d3,其中d1是Master数据而d2与d3为Slave数据。有时由于一些异常的原因我们希望改变一下三个数据库间的主从关系如:d2作为Master数据,d1与d3作物Slave数据库。为了能够处理这些异常的需求,我们在配置Slave数据库是需要添加一些选项,在数据库的的配置文件中添加: 
[mysqld] 
log-bin=mysql-bin //启动数据库更新二进制日志记录,日志文件名前缀为mysql-bin

log-slave-updates //当Slave从Master数据库读取日志时将跟新写入日志中 

log-bin 用于启动数据库的跟新日记,当针对启动这个选项的数据库本身进行数据跟新时更新操作将被记录。log-slave-updates 告诉Slave在二进制记录中记录从主数据库同步到的更新数据。如果只启动log-bin 而没有启动log-slave-updates则Slave只记录针对自己数据库操作的更新。

为d2添加一个用户用于数据同步:

grant   replication  slave  on   * . *   to  ‘slaver’@’ % ’ identified  by  ‘slaver’; 

将d2设为Master数据库:

stop slave; 
reset master; 
show master status; 

在MySql上实现Replication(Master 与 Slave 数据同步)

记录执行show master status; 所获得的数据。分别在d1、d3上执行:

change master  to  
master_host
= 127.0 . 0.1  ’, 
master_user
= ’ slave’, 
master_password
= ’slave ’, 
master_log_file
= ’ mysql - bin.000001’, 
master_log_pos
= 98

在d1或d3上执行: 
show slave status \G; //查看Slave数据库状态 
在MySql上实现Replication(Master 与 Slave 数据同步)
      一般来说其中的IO日志读取线程和SQL数据处理线程Slvae_IO_Running及Slave_SQL_Running标记为Yes,则表示Master/Slave数据同步成功。 

转自:http://blog.csdn.net/ckcs49/archive/2008/01/26/2067483.aspx

 

你可能感兴趣的:(sql,mysql,.net,Blog)