没有合适的资源?快使用搜索试试~ 我知道了~
内容概要:本文档详细介绍了MySQL分布式架构的搭建与配置,涵盖多实例部署、主从复制配置、Mycat中间件的安装与配置以及各种分片策略的应用。具体包括:1) MySQL多实例部署,通过在两台虚拟机上分别创建四个MySQL实例并配置相应参数;2) 主从复制配置,确保各实例间数据同步;3) Mycat中间件安装与配置,包括Java环境准备、Mycat安装、配置文件解析等;4) 分片策略应用,如读写分离、垂直分表、水平拆分、全局表、E-R分片等;5) 全局序列配置,提供三种实现方式(本地文件、数据库、时间戳)。此外,还涉及Mycat管理类操作及性能优化参数配置。
适合人群:具备一定Linux和MySQL基础,对数据库高可用、读写分离、分片技术感兴趣的DBA或开发人员。
使用场景及目标:适用于希望构建高可用、高性能MySQL集群的企业级应用。通过本文档,读者能够掌握MySQL分布式架构的搭建流程,实现数据库的读写分离、分片、高可用等特性,从而提升系统的扩展性和稳定性。
其他说明:本文档不仅提供了详细的命令行操作步骤,还结合实际案例进行演示,确保读者可以按照指南顺利完成配置。同时,针对可能出现的问题,提供了相应的解决方法,帮助读者快速排除故障。此外,对于全局序列的配置,提供了三种不同的实现方式,满足不同场景下的需求。

MySQL分布式架构-上
1、分布式架构-演变
略。
2、基础架构介绍
2.1 环境准备:
2.2 删除历史环境:
2.3 创建相关目录初始化数据
2.4 准备配置文件和启动脚本
两台虚拟机 db01 db02
每台创建四个mysql实例:3307 3308 3309 3310
1
2
pkill mysqld
rm -rf /data/330*
mv /etc/my.cnf /etc/my.cnf.bak
1
2
3
mkdir /data/33{07..10}/data -p
mysqld --initialize-insecure --user=mysql --datadir=/data/3307/data --
basedir=/data/app/mysql
mysqld --initialize-insecure --user=mysql --datadir=/data/3308/data --
basedir=/data/app/mysql
mysqld --initialize-insecure --user=mysql --datadir=/data/3309/data --
basedir=/data/app/mysql
mysqld --initialize-insecure --user=mysql --datadir=/data/3310/data --
basedir=/data/app/mysql
1
2
3
4
5
========db01==============
cat >/data/3307/my.cnf<<EOF
[mysqld]
basedir=/data/app/mysql
datadir=/data/3307/data
socket=/data/3307/mysql.sock
port=3307
log-error=/data/3307/mysql.log
log_bin=/data/3307/mysql-bin
binlog_format=row
skip-name-resolve
server-id=7
gtid-mode=on
enforce-gtid-consistency=true
1
2
3
4
5
6
7
8
9
10
11
12
13
14

log-slave-updates=1
#*************** rpl_semi_sync ***************
rpl_semi_sync_master_enabled =ON
rpl_semi_sync_master_timeout =5000
rpl_semi_sync_master_wait_for_slave_count =1
rpl_semi_sync_master_wait_no_slave =ON
rpl_semi_sync_master_wait_point =AFTER_SYNC
rpl_semi_sync_slave_enabled =ON
#*************** group commit ***************
binlog_group_commit_sync_delay =1
binlog_group_commit_sync_no_delay_count =1000
#*************** gtid ***************
gtid_mode =ON
enforce_gtid_consistency =ON
log_slave_update =1
#*************** gtid ***************
slave_parallel_type =LOGICAL_CLOCK
slave_parallel_workers =4
master_info_repository =TABLE
relay_log_info_repository =TABLE
EOF
cat >/data/3308/my.cnf<<EOF
[mysqld]
basedir=/data/app/mysql
datadir=/data/3308/data
port=3308
socket=/data/3308/mysql.sock
log-error=/data/3308/mysql.log
log_bin=/data/3308/mysql-bin
binlog_format=row
skip-name-resolve
server-id=8
gtid-mode=on
enforce-gtid-consistency=true
log-slave-updates=1
#*************** rpl_semi_sync ***************
rpl_semi_sync_master_enabled =ON
rpl_semi_sync_master_timeout =5000
rpl_semi_sync_master_wait_for_slave_count =1
rpl_semi_sync_master_wait_no_slave =ON
rpl_semi_sync_master_wait_point =AFTER_SYNC
rpl_semi_sync_slave_enabled =ON
#*************** group commit ***************
binlog_group_commit_sync_delay =1
binlog_group_commit_sync_no_delay_count =1000
#*************** gtid ***************
gtid_mode =ON
enforce_gtid_consistency =ON
log_slave_update =1
#*************** gtid ***************
slave_parallel_type =LOGICAL_CLOCK
slave_parallel_workers =4
master_info_repository =TABLE
relay_log_info_repository =TABLE
EOF
cat >/data/3309/my.cnf<<EOF
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72

[mysqld]
basedir=/data/app/mysql
datadir=/data/3309/data
socket=/data/3309/mysql.sock
port=3309
log-error=/data/3309/mysql.log
log_bin=/data/3309/mysql-bin
binlog_format=row
skip-name-resolve
server-id=9
gtid-mode=on
enforce-gtid-consistency=true
log-slave-updates=1
#*************** rpl_semi_sync ***************
rpl_semi_sync_master_enabled =ON
rpl_semi_sync_master_timeout =5000
rpl_semi_sync_master_wait_for_slave_count =1
rpl_semi_sync_master_wait_no_slave =ON
rpl_semi_sync_master_wait_point =AFTER_SYNC
rpl_semi_sync_slave_enabled =ON
#*************** group commit ***************
binlog_group_commit_sync_delay =1
binlog_group_commit_sync_no_delay_count =1000
#*************** gtid ***************
gtid_mode =ON
enforce_gtid_consistency =ON
log_slave_update =1
#*************** gtid ***************
slave_parallel_type =LOGICAL_CLOCK
slave_parallel_workers =4
master_info_repository =TABLE
relay_log_info_repository =TABLE
EOF
cat >/data/3310/my.cnf<<EOF
[mysqld]
basedir=/data/app/mysql
datadir=/data/3310/data
socket=/data/3310/mysql.sock
port=3310
log-error=/data/3310/mysql.log
log_bin=/data/3310/mysql-bin
binlog_format=row
skip-name-resolve
server-id=10
gtid-mode=on
enforce-gtid-consistency=true
log-slave-updates=1
#*************** rpl_semi_sync ***************
rpl_semi_sync_master_enabled =ON
rpl_semi_sync_master_timeout =5000
rpl_semi_sync_master_wait_for_slave_count =1
rpl_semi_sync_master_wait_no_slave =ON
rpl_semi_sync_master_wait_point =AFTER_SYNC
rpl_semi_sync_slave_enabled =ON
#*************** group commit ***************
binlog_group_commit_sync_delay =1
binlog_group_commit_sync_no_delay_count =1000
#*************** gtid ***************
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130

gtid_mode =ON
enforce_gtid_consistency =ON
log_slave_update =1
#*************** gtid ***************
slave_parallel_type =LOGICAL_CLOCK
slave_parallel_workers =4
master_info_repository =TABLE
relay_log_info_repository =TABLE
EOF
cat >/etc/systemd/system/mysqld3307.service<<EOF
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/data/app/mysql/bin/mysqld --defaults-file=/data/3307/my.cnf
LimitNOFILE = 5000
EOF
cat >/etc/systemd/system/mysqld3308.service<<EOF
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/data/app/mysql/bin/mysqld --defaults-file=/data/3308/my.cnf
LimitNOFILE = 5000
EOF
cat >/etc/systemd/system/mysqld3309.service<<EOF
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/data/app/mysql/bin/mysqld --defaults-file=/data/3309/my.cnf
LimitNOFILE = 5000
EOF
cat >/etc/systemd/system/mysqld3310.service<<EOF
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188

[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/data/app/mysql/bin/mysqld --defaults-file=/data/3310/my.cnf
LimitNOFILE = 5000
EOF
========db02===============
cat >/data/3307/my.cnf<<EOF
[mysqld]
basedir=/data/app/mysql
datadir=/data/3307/data
socket=/data/3307/mysql.sock
port=3307
log-error=/data/3307/mysql.log
log_bin=/data/3307/mysql-bin
binlog_format=row
skip-name-resolve
server-id=17
gtid-mode=on
enforce-gtid-consistency=true
log-slave-updates=1
#*************** rpl_semi_sync ***************
rpl_semi_sync_master_enabled =ON
rpl_semi_sync_master_timeout =5000
rpl_semi_sync_master_wait_for_slave_count =1
rpl_semi_sync_master_wait_no_slave =ON
rpl_semi_sync_master_wait_point =AFTER_SYNC
rpl_semi_sync_slave_enabled =ON
#*************** group commit ***************
binlog_group_commit_sync_delay =1
binlog_group_commit_sync_no_delay_count =1000
#*************** gtid ***************
gtid_mode =ON
enforce_gtid_consistency =ON
log_slave_update =1
#*************** gtid ***************
slave_parallel_type =LOGICAL_CLOCK
slave_parallel_workers =4
master_info_repository =TABLE
relay_log_info_repository =TABLE
EOF
cat >/data/3308/my.cnf<<EOF
[mysqld]
basedir=/data/app/mysql
datadir=/data/3308/data
port=3308
socket=/data/3308/mysql.sock
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
剩余32页未读,继续阅读
资源推荐
资源评论
2016-12-12 上传
2017-03-14 上传
193 浏览量

190 浏览量

187 浏览量
2016-01-10 上传
152 浏览量
2019-10-04 上传
2016-05-20 上传
2019-01-21 上传
155 浏览量

163 浏览量

154 浏览量
2023-10-11 上传
196 浏览量
2019-04-22 上传
2018-03-13 上传
2017-08-15 上传
2018-12-12 上传
121 浏览量
156 浏览量
2019-11-02 上传
2018-05-06 上传
194 浏览量
167 浏览量
2018-11-15 上传
118 浏览量
842 浏览量
资源评论



CodeGolang
- 粉丝: 182
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 基于SVM和ANN的MATLAB GUI智能废弃金属分类分级系统
- 永磁同步电机PMSM的“无差电流预测控制+模型参考自适应参数辨识”技术
- COMSOL电池模型中Nernst-Planck方程的详细解析与应用 · 边界条件 最新版
- COMSOL模拟THM耦合下CO2-ECBM的驱替过程及多元气体吸附与煤体变形动态研究 THM耦合
- 模块化多电平换流器(MMC)与柔性直流输电系统(HVDC)的技术解析及应用
- 孤岛微电网DOS攻击防御的二次控制技术及混合动态事件触发机制 权威版
- 永磁同步电机模型预测电流控制(MPCC):基于代价函数寻优的优化控制策略及应用 - 模型预测控制
- 基于Simulink平台的ABS仿真模型:PID控制策略下的防抱死制动系统性能评估与分析
- (源码)基于Arduino UNO的汽车停车系统项目.zip
- Abaqus中Dload与Vdload子程序实现四轴及多轴汽车动态荷载模拟
- (源码)基于Arduino的穿戴式个人空气质量监测器.zip
- 基于GWO-SVM的单变量时序递归预测:MATLAB实现与应用 - 递归预测
- PMSM无传感器控制Simulink仿真及其基于滑膜观测器的FOC控制 - 配3页英文文献
- (源码)基于Python的豆瓣电影数据分析与可视化系统.zip
- 基于CS统计模型与UKF无迹卡尔曼滤波的三维路径跟踪预测仿真的研究:Matlab平台的实现与评估
- (源码)基于C++的跳表KV存储引擎.zip
安全验证
文档复制为VIP权益,开通VIP直接复制
