Chinaunix首页 | 论坛 | 博客
  • 博客访问: 92178923
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: Mysql/postgreSQL

2008-04-06 11:10:29

作者: lanterns  出自:
一.主——从模式
实验条件: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;
QUOTE:
*************************** 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)

显示结果如上则说明同步成功!

二.主——主模式(互备)则在此基础上对mater进行slave设置,对slave进行master设置即可
阅读(394) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~