Skip to content

Commit 70f159d

Browse files
committed
2016-04-06添加MySQL主从、Redis主从配置
1 parent 432dbcc commit 70f159d

File tree

2 files changed

+89
-0
lines changed

2 files changed

+89
-0
lines changed

Mysql-Install-And-Settings.md

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,63 @@
4444
- `sudo ln -s /usr/program/mysql/bin/mysql /usr/bin`
4545
- `sudo ln -s /usr/program/mysql/bin/mysqladmin /usr/bin`
4646

47+
48+
## MySQL 主从复制
49+
50+
- 假设有两台服务器,一台做主,一台做从
51+
- MySQL 主信息:
52+
- IP:**12.168.1.113**=
53+
- 端口:**3306**
54+
- MySQL 从信息:
55+
- IP:**12.168.1.115**
56+
- 端口:**3306**
57+
- 注意点
58+
- 主 DB server 和从 DB server 数据库的版本一致
59+
- 主 DB server 和从 DB server 数据库数据一致
60+
- 主 DB server 开启二进制日志,主 DB server 和从 DB server 的 server_id 都必须唯一
61+
- 优先操作:
62+
- 把主库的数据库复制到从库并导入
63+
- 主库操作步骤
64+
- 创建一个目录:`mkdir -p /usr/program/mysql/data/log-bin`
65+
- 主 DB 开启二进制日志功能:`vim /usr/program/mysql/my.cnf`,
66+
- 添加一行:`log-bin = /usr/program/mysql/data/log-bin`
67+
- 指定同步的数据库,如果不指定则同步全部数据库,其中 ssm 是我的数据库名:`binlog-do-db=ssm`
68+
- 重启主库 MySQL 服务
69+
- 进入 MySQL 命令行状态,执行 SQL 语句查询状态:`SHOW MASTER STATUS`
70+
- 在显示的结果中,我们需要记录下 **File** 和 **Position** 值,等下从库配置有用。
71+
- 设置授权用户 slave01 使用 123456 密码登录主库,这里 @ 后的 IP 为从库机子的 IP 地址,如果从库的机子有多个,我们需要多个这个 SQL 语句。
72+
73+
``` SQL
74+
grant replication slave on *.* to 'slave01'@'192.168.1.133' identified by '123456';
75+
flush privileges;
76+
```
77+
78+
- 从库操作步骤
79+
80+
- 在进入 MySQL 的命令行状态下,输入下面 SQL:
81+
82+
``` SQL
83+
CHANGE MASTER TO
84+
master_host='192.168.1.113',
85+
master_user='slave01',
86+
master_password='123456',
87+
master_port=3306,
88+
master_log_file='mysql3306-bin.000006',>>>这个值复制刚刚让你记录的值
89+
master_log_pos=1120;>>>这个值复制刚刚让你记录的值
90+
```
91+
92+
- 执行该 SQL 语句,启动 slave 同步:`START SLAVE;`
93+
- 执行该 SQL 语句,查看从库机子同步状态:`SHOW SLAVE STATUS;`
94+
- 在查看结果中必须下面两个值都是 Yes 才表示配置成功:
95+
- `Slave_IO_Running:Yes`
96+
- `Slave_SQL_Running:Yes`
97+
- 如果你的 Slave_IO_Running 是 No, 那你可以检查从库下的错误日志:`cat /usr/program/mysql/data/mysql-error.log`
98+
- 如果里面提示 uuid 错误,你可以编辑从库的这个配置文件:`vim /usr/program/mysql/data/auto.cnf`,把配置文件中的:server-uuid 值随便改一下,保证和主库是不一样的。
99+
100+
101+
102+
103+
47104
## 资料
48105

49106
- <http://www.cnblogs.com/xiongpq/p/3384681.html>

Redis-Install-And-Settings.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,38 @@ aof-rewrite-incremental-fsync yes
136136

137137

138138

139+
## Redis 主从(主从从)配置
140+
141+
### Redis 主从架构
142+
143+
- 假设有两台服务器,一台做主,一台做从
144+
- Redis 主信息:
145+
- IP:**12.168.1.114**=
146+
- 端口:**6379**
147+
- Redis 从信息:
148+
- IP:**12.168.1.115**
149+
- 端口:**6379**
150+
- 编辑从机的 Redis 配置文件,找到 210 行(大概),默认这一行应该是注释的:`# slaveof <masterip> <masterport>`
151+
- 我们需要去掉该注释,并且填写我们自己的主机的 IP 和 端口,比如:`slaveof 192.168.1.114 6379`
152+
- 配置完成后重启从机 Redis 服务
153+
- 重启完之后,进入主机的 redis-cli 状态下,输入:`INFO replication`
154+
- 可以查询到当前主机的 redis 处于什么角色,有哪些从机已经连上主机。
155+
- 此时已经完成了主从配置,我们可以测试下:
156+
- 我们进入主机的 redis-cli 状态,然后 set 某个值,比如:`set myblog YouMeek.com`
157+
- 我们切换进入从机的 redis-cli 的状态下,获取刚刚设置的值看是否存在:`get myblog`,此时,我们可以发现是可以获取到值的。
158+
- 但是有一个需要注意的:从库不具备写入数据能力,不然会报错。 从库只有只读能力。
159+
160+
161+
### Redis主从从架构
162+
163+
- Redis 主从从的意思:看桌面上的截图。
164+
- 优点,除了减少主库连接的压力,还有可以关掉主库的持久化功能,把持久化的功能交给从库进行处理。
165+
- 第一个从库配置的信息是连上主库,后面的第二个从库配置的连接信息是连上第一个从库, 假如还有第三个从库的话,我们可以把第三个从库的配置信息连上第二个从库上,以此类推。
166+
167+
168+
169+
170+
139171

140172

141173

0 commit comments

Comments
 (0)