(转)
很久前搞过了,有点忘了,重新配一下,巩固巩固,呵呵!
M-S使用的单向,异步的复制方法。而Cluster采用的是无共享的系统中部署“内存中”数据库的簇。
M-S 是概念上的“同步”,而Cluster是真正意义上的同步,MySQL的Cluster是类似与DB2的无共享集群,易于扩展。
这里讲讲Master-Slave模式,以Windows下安装为例:1.分别在两台机上安装MySQL数据库.
master: 192.168.2.14
slave: 192.168.2.8
2.在master上建立要同步的数据库,如testdb.
打开my.ini文件,在最后面添加如下内容后重启服务。(linux下my.cnf)
server-id=1
binlog-do-db=testdb
log-bin=mysql-bin
3.在slave上同样建立testdb。
(网上有的说建立之后反而报错,但是我发现好像一开始还是需要建立库和表结构的,之后才会同步数据
莫非版本不同?我这是用的是MySQL5.0.x, 详情可参考数据库安装目录下data/机器名.err文件)
打开my.ini文件,在最后面添加如下内容后重启服务。
server-id=2
master-host=192.168.2.14
master-user=root
master-password=root
master-port=3306
replicate-do-db=testdb
4.在master上赋一下权限
grant all on *.* to root@'192.168.2.8' identified by 'root'
5.查询下状态
master: show master stutas;
slave : show slave stutas;
参考资料:
http://blog.myspace.cn/e/404626452.htm
http://java221.javaeye.com/blog/686284
http://www.javaeye.com/topic/829371
http://www.javaeye.com/topic/171427
http://database.51cto.com/art/201006/205858.htm
http://hi.baidu.com/fairywood/blog/item/f9a26213a3e2eb886438db3c.html
http://blog.163.com/dandanhjj@126/blog/static/162586077201032602631133/
下面是一个关于MySQL 5.1下配置的网页:
http://www.zhuoda.org/lunzi/114670.html
1、一台机器上装了两个版本不同的mysql数据库来实现,5.1版本做master,5.0的版本做slave来实现主从备份。
2、5.1端口用的3307,5.0端口用的3308.
在Master(Mysql5.1)的数据库中建立一个备份帐户,命令如下
GRANT REPLICATION SLAVE ON *.* TO 'slave'@'localhost' IDENTIFIED BY '654321';
3、Master 为Mysql5.1 修改如下(my.ini):
加在文件的最后就可以,
[mysqld]
#Master start
#日志输出地址 主要同步使用
log-bin=C:/ProgramData/MySQL/MySQL Server 5.1/Data/log-bin.log
#同步数据库
binlog-do-db=test
#主机id 不能和从机id重复
server-id=1
#Master end
4、.Slave 为Mysql5.0 修改如下(my.ini):
同样把下列代码加到文件的底部即可,
[mysqld]
#Slave start
log-bin=D:/Program Files/MySQL/MySQL Server 5.0/Data/log-bin.log
#从机id,区别于主机id
server-id=2
#主机ip,供从机连接主机用
master-host=localhost
#主机端口
master-port=3307
#刚才为从机复制主机数据新建的账号
master-user=slave
#刚才为从机复制主机数据新建的密码
master-password=654321
#重试间隔时间10秒
master-connect-retry=10
#需要同步的数据库
replicate-do-db=test
#启用从库日志,这样可以进行链式复制
log-slave-updates
#从库是否只读,0表示可读写,1表示只读
read-only=1
#只复制某个表
#replicate-do-table=tablename
#只复制某些表(可用匹配符)
#replicate-wild-do-table=tablename%
#只复制某个库
#replicate-do-db=dbname
#不复制某个表
#replicate-ignore-table=tablename
#不复制某些表
#replicate-wild-ignore-table=tablename%
#不复制某个库
#replicate-ignore-db=dbname
#Slave end
5、查询当前主机数据库文件和位置
show master status;
6、
use test;
CREATE TABLE `users` (
`id` bigint(20) NOT NULL auto_increment,
`name` varchar(255) default NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
insert users(name) values('jacky');
测试ok,可以正常工作。
下面是Master-Master模式的安装资料:
http://blog.csdn.net/yueliangdao0608/archive/2008/10/29/3173231.aspx