Chinaunix首页 | 论坛 | 博客
  • 博客访问: 806874
  • 博文数量: 142
  • 博客积分: 3505
  • 博客等级: 中校
  • 技术积分: 1501
  • 用 户 组: 普通用户
  • 注册时间: 2011-07-30 19:30
文章分类

全部博文(142)

文章存档

2012年(33)

2011年(109)

分类: LINUX

2012-01-04 20:48:04

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.

阅读(1929) | 评论(0) | 转发(0) |
0

上一篇:Linux开机执行顺序

下一篇:drbd配置参数

给主人留下些什么吧!~~