浏览 3162 次
精华帖 (0) :: 良好帖 (1) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-12-07
最后修改:2009-12-08
1.先安装2个Mysql 其实也就是复制一个Mysql (Mysql5.1 和 Mysql5.2) 2.修改端口号和安装地址(my.ini) 这里我们不使用默认端口3306 主要测试 Mysql5.1 [client] port=3307 [mysqld] port=3307 basedir="E:/Mysql5.1/" datadir="E:/Mysql5.1/Data/" Mysql5.2 [client] port=3308 [mysqld] port=3308 basedir="E:/Mysql5.2/" datadir="E:/Mysql5.2/Data/" 3.在Master(Mysql5.1)的数据库中建立一个备份帐户,命令如下 GRANT REPLICATION SLAVE ON *.* TO 'slave'@'localhost' IDENTIFIED BY '123456'; 4.Master 为Mysql5.1 修改如下(my.ini): [mysqld] #Master start #日志输出地址 主要同步使用 log-bin=E:\Mysql5.1\Data\log-bin.log #同步数据库 binlog-do-db=cnb #主机id 不能和从机id重复 server-id=1 #Master end 5.Slave 为Mysql5.2 修改如下(my.ini): [mysqld] #Slave start log-bin=E:\Mysql5.2\Data\log-bin.log #从机id,区别于主机id server-id=2 #主机ip,供从机连接主机用 master-host=localhost #主机端口 master-port=3307 #刚才为从机复制主机数据新建的账号 master-user=slave #刚才为从机复制主机数据新建的密码 master-password=123456 #重试间隔时间10秒 master-connect-retry=10 #需要同步的数据库 replicate-do-db=cnb #启用从库日志,这样可以进行链式复制 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 end6.查询当前主机数据库文件和位置 mysql> show master status; +----------------+----------+--------------+------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +----------------+----------+--------------+------------------+ | log-bin.000001 | 98 | cnb | | +----------------+----------+--------------+------------------+ 6.数据库操作测试如下为在Master(Mysql5.1)端操作 然后查看Slave(Mysql5.2) create databse cnb; 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'); 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |