资料准备:
1.单向异步复制;
2. master将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环;
3. slave连接master,告知它最后一次更新的位置,slave接收master发送需要更新的东东,slave封锁等待master的更新消息;
4. 进行复制时,对复制表的更新必须在master上进行;
5.使用复制的另一个好处:备份可以在slave上进行,不干扰master;
1. show variables like 'server_id';
2. set global server_id=1;3.在my.cnf文件中[mysqld] 下添加几行:
log-bin=mysql-bin
master_host=10.0.0.6
master_port=3306
master_user=replication
master_password=slave
* 出现的问题:查找my.cnf,没有发现该文件,原来Linux下是my.cnf,但在Windows下是my.ini
4. 重启mysql
5. 为复制用户授权:
mysql>grant replication slave on *.* to 'replication'@'%' identified by 'slave';
6. show slave status\G;
* 发现 slave_io_running 为 NO
查找资料后发现,这种情况有两种可能:
1. 在配置slave同步时因为slave访问master没有权限导致;
2. master上的mysql-bin.xxxxxx文件全被我误删除了;
* 找了一下,发现没有mysql-bin的log文件
原来在documents and Settings的子目录下
show master logs; 可以看到当前的所有log文件