MySQL社区

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
查看: 4850|回复: 4
打印 上一主题 下一主题

原创双向数据库同步mysql

[复制链接]
跳转到指定楼层
1#
发表于 2007-8-17 15:41:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
作者:macro_zhang


一、配置主master(172.168.0.220)数据库如下:

1、 DOWLOAD mysql-4.1.15.tar.gz源码包,在172.168.0.220(master机器)手动编译安装
注:MASTER 服务器同时担任SLAVE 服务器功能因为需要双向同步
[root@localhost mysql-4.1.15]# tar –xzvf mysql-4.1.15.tar.gz
[root@localhost mysql-4.1.15]# cd mysql-4.1.15
[root@localhost mysql-4.1.15]#./configure –prefix=/usr /macro/mysql --with-charset=’gbk’
[root@localhost mysql-4.1.15]#make
[root@localhost mysql-4.1.15]#make install
[root@localhost mysql-4.1.15]#cp support-file/my-medium.cnf /etc/my.cnf
[root@localhost mysql-4.1.15]#cd ../mysql
[root@localhost mysql-4.1.15]#bin/mysql_install_db --user=mysql (注:如果在所有配置都完成后,双向同步不能成功,则问题有可能出在这一行命令,那么就重新编译安装mysql,然后到此步骤后,执行如下命令:
[root@localhost mysql-4.1.15]#bin/mysql_install_db --user=mysql --log-bin
[root@localhost mysql-4.1.15]# bin/mysql_install_db --user=mysql )
[root@localhost mysql-4.1.15]#chown –R root . (root 后边有个点意思是所有的文件)
[root@localhost mysql-4.1.15]#chwon –R mysql var/
[root@localhost mysql-4.1.15]#chgrh –R .
[root@localhost mysql-4.1.15]#bin/mysqld_safe –user=mysql &
[root@localhost mysql-4.1.15]#bin/mysql
mysql>grant all privileges on *.* to passpod@172.168.0.230 identified by ‘1234’;
mysql>exit


2.配置/etc/my.cnf
[root@localhost mysql-4.1.15]#vi /etc/my.cnf
加入如下代码:
log-bin
server-id = 1
sql-bin-update-same
binlog-do-db=passpod
master-host=172.168.0.230
master-user=passpod
master-password='1234'
master-port=3306
master-connect-retry=30
replicate-do-db=passpod
log-slave-updates
编辑完my.cnf 后保存退出,之后执行如下命令:
[root@localhost mysql-4.1.15]#bin/mysqladmin shutdown


二、配置副SLAVE(172.168.0.230)数据库如下:
注意:这台机器首先是SLAVE服务器也同时担任MASTER服务器

1、DOWLOAD mysql-4.1.15.tar.gz源码包,在172.168.0.230(SLAVE机器)手动编译安装
[root@localhost mysql-4.1.15]# tar –xzvf mysql-4.1.15.tar.gz
[root@localhost mysql-4.1.15]# cd mysql-4.1.15
[root@localhost mysql-4.1.15]#./configure –prefix=/usr /macro/mysql --with-charrset=’gbk’
[root@localhost mysql-4.1.15]#make
[root@localhost mysql-4.1.15]#make install
[root@localhost mysql-4.1.15]#cp support-file/my-medium.cnf /etc/my.cnf
[root@localhost mysql-4.1.15]#cd ../mysql
[root@localhost mysql-4.1.15]#bin/mysql_install_db --user=mysql --log-bin
[root@localhost mysql-4.1.15]#chown –R root . (root 后边有个点意思是所有的文件)
[root@localhost mysql-4.1.15]#chwon –R mysql var/
[root@localhost mysql-4.1.15]#chgrh –R .
[root@localhost mysql-4.1.15]#bin/mysqld_safe –user=mysql &
[root@localhost mysql-4.1.15]#bin/mysql
mysql>grant all privileges on *.* to passpod@172.168.0.230 identified by ‘1234’;
mysql>exit

2.配置/etc/my.cnf
log-bin
server-id = 2
binlog-do-db=passpod
sql-bin-update-same
master-host=172.168.0.220
master-user=passpod
master-password='1234'
master-port=3306
master-connect-retry=30
replicate-do-db=passpod
log-slave-updates
#
编辑完my.cnf 后保存退出,之后执行如下命令:
[root@localhost mysql-4.1.15]#bin/mysqladmin shutdown


三、测试mysql数据库双向同步:

1. 重新启动两台mysql数据库

2. 在两台mysql服务器上执行如下步骤查看配置:
mysql> show master status;
mysql>show slave status;
察看配置是否正确

3、在配置文件/etc/my.cnf中要同步的数据库是passpod,所以新建mysql服务器没有passpod数据库,执行如下命令建立passpod数据库(注:由于已经配置为双向数据库同步,所以在任何一台MYSQL服务器上执行如下命令都可以在另一台机器上都能同步:)
以172.168.0.220服务器为例:
mysql> create database passpod:
当你在登陆到172.168.0.230服务器的时候就可以看到passpod数据库了。同理当你在服务器172.168.0230上建立数据库passpod的时候在172.168.0.220
上就可以同步了。同时也可以建立table测试。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享淘帖 顶 踩
2#
发表于 2008-4-3 13:33:09 | 只看该作者
sql-bin-update-same 和 log-slave-updates 起什么作用?
3#
发表于 2008-4-7 10:40:07 | 只看该作者
再顶
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|申请友链|小黑屋|Archiver|手机版|MySQL社区 ( 京ICP备07012489号   
联系人:周生; 联系电话:13911732319

GMT+8, 2024-6-16 17:13 , Processed in 0.077685 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表