Chinaunix首页 | 论坛 | 博客
  • 博客访问: 19516
  • 博文数量: 6
  • 博客积分: 470
  • 博客等级: 下士
  • 技术积分: 70
  • 用 户 组: 普通用户
  • 注册时间: 2009-01-07 14:48
文章分类
文章存档

2010年(1)

2009年(5)

我的朋友
最近访客

分类: Mysql/postgreSQL

2009-03-24 18:42:23

master ip: 192.168.1.40
slave ip: 192.168.1.43


注意搭建环境按以下顺序:
1.安装完成后配置/etc/my.cnf
master: /etc/my.cnf
server-id=1
log-bin
binlog-do-db=backup

slave: /etc/my.cnf
server-id=2
master-host=192.168.1.40
master-user=backup40
master-password=backup40a
master-port=3306 #主服务器端口
master-connect-retry=60 #同步时间间隔为60秒
replicate-do-db=backup
log-bin
binlog-do-db=backup


2.分别启动主、从数据库服务器
/usr/local/mysql-5.0.67/bin/mysqld_safe --user=mysql &


3.建立slave访问master的用户
master:
grant select,file,replication slave on *.* to    identified by 'backup40a' ;
flush privileges;


4.
如果master数据为空:
在主数据库服务器上建立backup ,在backup数据库里面建立数据表,在从库上面应该立即都能看到。

如果master backup库有数据:
需要执行以下操作:
1).锁主库表
(master)mysql>FLUSH TABLES WITH READ LOCK;

2).记录File和Position,从库设置将会用到
(master)mysql>SHOW MASTER STATUS ;

3).另开一个终端,打包主库
(master)/var/ # tar zcvf backup.tar.gz backup

4).拷贝上述backup.tar.gz包到从库机器数据目录,并解包

5).解锁主库表
(master)mysql>UNLOCK TABLES;

6).设置连接MASTER MASTER_LOG_FILE为主库的File
MASTER_LOG_POS为主库的Position
(slave)mysql>CHANGE MASTER TO
MASTER_HOST='192.168.1.40',
MASTER_USER='backup40',
MASTER_PASSWORD='backup40a',
MASTER_LOG_FILE='File',
MASTER_LOG_POS=Position;

7).启动SLAVE服务
(slave)mysql>slave start;

 

注意地方:
1.
在进行同步之前必须保证两个数据库是完全相同的,不然可能出错.

2.slave工作原理:
Slave上Mysql的Replication工作有两个线程,I/O thread和SQL thread,
I/O thread的作用是从master 3306端口上把它的binlog取过来,然后写到本地的relay-bin,
而SQL thread则是去读本地的relay-bin,再把它转换成本机Mysql所能理解的东西,于是同步就这样一步一步的完成.
决定I/O thread的是var/master.info,而决定SQL thread的是var/relay-log.info.

3.
如果更改了master服务器,
slave服务器需要修改/etc/my.cnf文件,删除master.info、relay-log.info和relay-log.index文件,重起slave.

 

阅读(866) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~