操作系统都是Cent OS 5.3
首先设置MySQL主服务器:
在主服务器上为从服务器建立一个用户:
grant replication slave on *.* to '用户名'@'主机' identified by '密码';
编辑主服务器的配置文件:/etc/my.cnf
server-id = 1
binlog-do-db=需要备份的数据库名,如果备份多个数据库,重复设置这个选项即可
binlog-ignore-db=不需要备份的数据库苦命,如果备份多个数据库,重复设置这个选项即可
编辑从服务器的配置文件:/etc/my.cnf
server-id=2
master-host=主机
master-user=用户名
master-password=密码
master-port=端口
replicate-do-db=需要备份的数据库名,如果备份多个数据库,重复设置这个选项即可
先手动同步一下主从服务器中要备份的数据库,然后重启主,从服务器。
要验证主从设置是否已经成功,可以登录从服务器输入如下命令:
mysql> show slave status/G
会得到类似下面的列表:
....
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
...
如果这两个选项全是Yes,则成功。
注意事项:
1、从服务器重启后会生成master.info文件,该文件只会在第一次修改时生成。如又修改了从服务器或主服务器的配置文件,需手动删除该文件,然后重启mysql服务,重新生成该文件。
2、如在主服务器中添加了要备份的,不需备份的数据库名,或者在从服务器上重新设置了master-host,master-user等项的值,通过show slave status/G 检查从服务器,会发现Slave_IO_Running:No ,日志中会出现类似下面的错误:
解决办法是:
在主服务器中 mysql>reset master;
在从服务器中 mysql>stop slave;start slave;