一.主——从模式
实验条件:master IP:192.168.1.104 slave IP:192.168.1.105 mysql version:5.0.22
1.编辑master的/etc/my.cnf 在[mysqld]选项中加入下列两行(括号中为注释,下同):
Server-id=1 (标识为主库)
Log-bin (设置需要记录log, 如果有特殊要求可以设置特定的数据库作为同步数据库:binlog-do-db=DB_name)
2.考虑到安全问题,增加用户“backup”作为slave登陆备份数据的用户
# useradd backup
#passwd backup (密码设置为“123456”)
# /etc/init.d/mysqld start
# mysql
Mysql>grant replication slave,reload,super on *.* to ‘backup’@’192.168.1.105’ identified by ‘123456’;
3.slave连接master测试
# /usr/bin/mysql –u backup –p123456 –h192.168.1.104 (/usr/bin/mysql可以是其他目录,这是在安装mysql时决定的,rpm默认安装则就是该路径)
出现mysql提示符就OK啦!
4.关闭slave数据库,编辑它的/etc/my.cnf 在选项[mysqld]下增加以下几列
Server-id=2 (标识slave 只要不和master相同就可以了)
Master-host=192.168.1.104
Master-user=backup (同步用户)
Master-password=123456
5.启动slave,并确定slave、master都已启动,再让slave进行同步master数据
# /etc/init.d/mysqld start
#mysql
Mysql>load data from master; (这一步的功能相当于在master中直接拷贝数据到slave)
6.测试
在master中:mysql>create database chenggong;
Mysql>use chenggong;
Mysql>create table worker (name char(8),addr char(20));
然后进入slave:mysql>show databases; (结果中应有“chenggong”)
mysql>Use chenggong;
mysql>show tables; (结果中应有“worker”)
另外:mysql>SHOW SLAVE STATUS\G;
引用:
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.1.104
Master_User: backup
…………………
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
………………
1 row in set (0.00 sec)