您的位置:首页 > 数据库 > MySQL

MySQL数据库集群Master-Slave模式安装摘要

2011-03-14 16:29 387 查看
(转)http://www.flatws.cn/article/program/db2/2011-02-25/14566.html

很久前搞过了,有点忘了,重新配一下,巩固巩固,呵呵!

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

http://www.javaeye.com/topic/162717
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: