(转)
很久前搞过了,有点忘了,重新配一下,巩固巩固,呵呵!
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=1binlog-do-db=testdblog-bin=mysql-bin
3.在slave上同样建立testdb。
(网上有的说建立之后反而报错,但是我发现好像一开始还是需要建立库和表结构的,之后才会同步数据
莫非版本不同?我这是用的是MySQL5.0.x, 详情可参考数据库安装目录下data/机器名.err文件)
打开my.ini文件,在最后面添加如下内容后重启服务。
server-id=2master-host=192.168.2.14master-user=rootmaster-password=rootmaster-port=3306replicate-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;
参考资料:
下面是一个关于MySQL 5.1下配置的网页:
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 end4、.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 end5、查询当前主机数据库文件和位置 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模式的安装资料: