Chinaunix首页 | 论坛 | 博客
  • 博客访问: 375920
  • 博文数量: 163
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 356
  • 用 户 组: 普通用户
  • 注册时间: 2016-07-01 14:18
文章分类

全部博文(163)

文章存档

2020年(4)

2019年(5)

2018年(4)

2017年(15)

2016年(11)

2015年(10)

2014年(4)

2013年(8)

2012年(13)

2011年(23)

2010年(2)

2009年(16)

2008年(20)

2007年(13)

2006年(12)

2005年(3)

分类: Mysql/postgreSQL

2013-04-11 15:44:14

第一部分:环境说明

1、OS:
master: Red Hat Enterprise Linux Server release 5.4 (Tikanga)
slave:    Ubuntu 12.04.1 LTS
2、mysql版本:
master: Server version: 5.0.77-log Source distribution(Redhat)
slave:   Server version: 5.5.29-0ubuntu0.12.04.2 (Ubuntu)
3、IP配置:master:192.168.1.50 slave:192.168.1.133

第二部分:配置过程
1、master#cat /et/mysql/my.cnf
[mysqld]
server-id = 1
log-bin = binlog

2、master#service mysqld restart                                                            ##重起数据库服务
3、grant all on *.* to slave@… identified by 'admin';               ##创建slave账户并设置密码、赋权限
4、mysql> flush tables with read lock;                                                      ##锁表停止更新,不要退出这个终端,否则锁失效;
5、mysql> show master status;                                                               ##记录前两框的数据
+------------------------+------------+-----------------+----------------------+
| File                           | Position    | Binlog_Do_DB  | Binlog_Ignore_DB  |
+------------------------+------------+-----------------+----------------------+
| mysql-bin.000003      | 522          |                       |                             |
+------------------------+------------+-----------------+----------------------+
1 row in set (0.00 sec)

6、mysqldump -h 192.168.1.133 -uroot -padmin -R test_db > test_db.sql   ##在slave上直接导出master的数据库
7、使用source命令导入test_db.sql文件
8、slave# service mysql stop                                                                   ##在slave上进行操作,停止mysql
9、按照如下内容修改/etc/mysql/my.cnf文件
[mysqld]
server-id = 2
replicate-ignore-db = mysql                                                                     ##不复制的库
replicate-ignore-db =  test                                                                        ##不复制的库                                ##切勿增加其他内容,例如master-host之类的参数会导致系统无法启动

10、slave#service mysql start                                                                  ##启动数据库
11、mysql>slave stop;                                                                            ##停止同步
12、手工同步数据库
mysql>change master to master_host='192.168.1.50',
master_user='slave',
master_password='admin',
master_port=3306,
master_log_file='mysql-bin.000003',                                                        ##第五步中file列的值
master_log_pos=522,                                                                             ##第五步种Position列的值
master_connect_retry=60;
14、mysql>slave start;                                                                           ##开启同步
5、mysql>show slave status \G;                                                       ##检查同步状态是否正常,Slave_IO_Running、Slave_SQL_Running值应为 “Yes”。
16、mysql>show processlist \G;                                                             ##查看复制的进度
17、mysql>unlock tables;                                                                      ##解除锁表,在master上执行
18、mysql> show master status;                                                            ##查看master状态
19、mysql> show slave status \G;                                                          ##查看slave状态

备注:Slave_IO_Running  = NO  往往是由于权限不足导致的

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