\346\225\260\346\215\256\345\272\223\350\277\201\347\247\273\346\226\271\346\241\210.md
... ...
@@ -1,344 +0,0 @@
1
-数据库迁移方案
2
-
3
-
4
-
5
-名词解释
6
-单机 : docker 部署
7
-分布式:k8s,多个容器,有边车,配置文件参数区分,
8
-engine.run.mode=SINGLE
9
-engine.store.meta.mode=CLOUD
10
-
11
-
12
-整库迁移:保留目标库系统表数据,
13
-环境检查:
14
-升级指引:
15
-一、单机迁移分布式环境
16
-单机环境迁移到生产分布式环境,
17
-1.1 环境检查
18
-来源:127.0.0.1 /test
19
-目标: 1.0.0.0/ snest
20
-
21
-迁移步骤:
22
-序号 执行步骤 执行内容 状态 开始时间
23
-1 停服来源数据库 test整库备份(test.sql) 完成
24
-2 检查目标库 有目标库的时候,没有目标库,有,备份目标库业务表数据(业务表名smi_* )smi_back.sql,无,创建目标库
25
- 完成
26
-3 整库备份test.sql导入目标库 将序号1备份的(test.SQL)导入目标库中 完成
27
-4 将目标库中的业务表smi_back.sql导入目标库中 完成
28
-5 应用市场上传应用,上架应用 完成
29
-6 执行sql 执行1.1 ,1.2, 等SQL 完成
30
-
31
-
32
-
33
-
34
-
35
-
36
-
37
-1.2 数据库准备
38
-平台sql
39
-1.1 卸载应用SQL
40
-
41
-update meta_app set is_primary =0, state = 'uninstalled' , is_delete = 1 where author='smi';
42
-
43
-
44
-
45
-1.2 已安装表(meta_appp)关联市场(meta_app_store)
46
-UPDATE meta_app
47
-SET meta_app_store_id = (
48
- SELECT id
49
- FROM meta_app_store AS subquery_meta_app
50
- WHERE subquery_meta_app.name = meta_app.name
51
-)
52
-WHERE `author` = 'smi'
53
-
54
-
55
-1.3 已经安装(meta_app)前端资源文件 (注意视情况而定,非必须执行SQL)
56
-UPDATE meta_app
57
-SET view_file_id = (
58
- SELECT view_file_id
59
- FROM meta_app_store AS subquery_meta_app
60
- WHERE subquery_meta_app.name = meta_app.name
61
-)
62
-WHERE `author` = 'smi'
63
-
64
-UPDATE meta_app
65
-SET view_file = (
66
- SELECT att.name
67
- FROM meta_app_store AS subquery_meta_app left join meta_attachment att on subquery_meta_app.view_file_id = att.id
68
- WHERE subquery_meta_app.name = meta_app.name
69
-)
70
-WHERE `author` = 'smi'
71
-
72
-
73
-
74
-1.3 应用市场准备
75
-归档应用文件一份。
76
-2.1 市场上传,上架。
77
-2.2 市场安装到容器。
78
- 具体操作参考
79
-http://iidp.chinasie.com:9999/iidpdoc/pages/0570a6/#%E5%BA%94%E7%94%A8%E5%B8%82%E5%9C%BA
80
-1.4 容器准备
81
-1.5 MINO存储迁移
82
-Minio数据迁移(mc命令)
83
-mc(MinIO Client)是一个强大的命令行工具,用于管理MinIO和其他兼容的对象存储服务(如Amazon S3)。你可以使用mc来执行各种操作,如创建和删除存储桶,上传、下载和删除对象,配置策略等。
84
-
85
-4.1 下载
86
-wget https:// dl.minio.org.cn/client/mc/release/linux-amd64/mc
87
-chmod +x mc
88
-
89
-4.2 数据迁移常用命令
90
-#注:mc只适合用于同网段minio之间的迁移或确保mc能连接到要迁移的服务器也可以使用mc
91
-
92
-
93
-
94
-例:全量迁移
95
-
96
-如下两台机器minio数据需要进行迁移,10.11全量迁移到10.12
97
-192.168.10.11 minio
98
-192.168.10.12 minio
99
-
100
-
101
-#添加新的minio服务地址
102
-语法: mc alias set 名称 服务地址 用户名 密码
103
-mc alias set minio1 http://192.168.10.11:9000 minioadmin minioadmin
104
-mc alias set minio2 http://192.168.10.12:9000 minioadmin minioadmin
105
-
106
-
107
-#查看已经添加的minio服务信息
108
-mc config host ls
109
-
110
-#移除已经添加的minio服务
111
-mc config host remove minio1
112
-
113
-
114
-#全量迁移,重名文件不覆盖,bucket不存在会自动创建
115
-mc mirror minio1 minio2
116
-#只是迁移某个bucket,以test为例,目标的bucket需要提前建好
117
-mc mirror minio1/test minio2/test
118
-#覆盖重名文件,加--overwrite
119
-mc mirror --overwrite minio1/test minio2/test
120
-
121
-常用命令
122
-已经添加minio服务地址后
123
-
124
-
125
-
126
-192.168.10.11 minio
127
-192.168.10.12 minio
128
-
129
-
130
-#添加新的minio服务地址
131
-语法: mc alias set 名称 服务地址 用户名 密码
132
-mc alias set minio1 http://192.168.10.11:9000 minioadmin minioadmin
133
-mc alias set minio2 http://192.168.10.12:9000 minioadmin minioadmin
134
-
135
-
136
-#列出minio1的桶,和linux的ls一样
137
-mc ls minio1
138
-
139
-#列出minio1中mybucket桶中的数据,和linux的ls一样
140
-mc ls minio1/mybucket
141
-
142
-
143
-#删除桶
144
-mc rm minio1/mybucket
145
-#删除桶中的数据
146
-mc rm minio1/mybucket/yuehansuzhangaiqing99.txt
147
-
148
-
149
-#查看桶的大小
150
-mc du minio1/mybucket
151
-输出如下结果
152
-825KiB 3 objects mybucket
153
-
154
-
155
-#移动桶数据
156
-#把minio1中mydata桶中的数据移动到minio2 archive桶下。
157
-# --recursive:这是一个选项,告诉 mc 移动所有子目录中的对象。如果没有这个选项,mc 只会移动顶层目录中的对象。
158
-
159
-mc mv --recursive minio1/mydata minio2/archive
160
-
161
-
162
-
163
-#复制桶数据
164
-#把minio1中mydata桶中的数据复制到minio2 archive桶下。
165
-
166
-mc cp --recursive minio1/mydata minio2/archive
167
-
168
-
169
-#查看文件内容,如果查看视频二进制文件等内容会乱码
170
-
171
-mc cat minio1/mybucket/suzhanyuehanaiqing99.txt
172
-
173
-
174
-
175
-
176
-
177
-
178
-
179
-二、测试分布式-迁移生产分布式环境
180
-
181
-整库迁移,
182
-
183
-2.1 环境检查
184
-KubeSphere 容器升级指引
185
-升级指引http://iidp.chinasie.com:9999/iidpwiki/upgrad
186
-
187
-2.2 数据库准备
188
-第一原则,源整库迁移,把客户需要的业务表数据迁移,在把客户业务表数据覆盖之前整库备份的数据。只保留系统表。目的是为了保留系统表。重新在新的环境,安装应用容器。
189
-方案一:
190
-来源:127.0.0.1 /test
191
-目标: 1.0.0.0/ snest
192
-
193
-2.2.1 数据迁移步骤
194
-序号 执行步骤 执行内容 状态 开始时间
195
-1 停服来源数据库 test整库备份(test.sql) 完成
196
-2 检查目标库 有目标库的时候,没有目标库,有,备份目标库业务表数据(业务表名smi_* )smi_back.sql,无,创建目标库
197
- 完成
198
-3 整库备份test.sql导入目标库 将序号1备份的(test.SQL)导入目标库中 完成
199
-4 执行sql
200
- 将目标库中的业务表smi_back.sql导入目标库中 完成
201
-5 执行sql
202
- 执行批量卸载SQL 完成
203
-6 执行sql 执行批量下架SQL 完成
204
-
205
-
206
-
207
-
208
-
209
-
210
-2.1 卸载应用SQL
211
-
212
-update meta_app set is_primary =0, state = 'uninstalled' , is_delete = 1 ;
213
-
214
-
215
-
216
-2.2 批量下架SQL
217
-UPDATE `snest_no_tenant`.`meta_app_store` SET `app_market` = 'noUp' ;
218
-
219
-
220
-
221
-
222
-2.3 已经安装(meta_app)前端资源文件(视情况而定非必须执行SQL)
223
-UPDATE meta_app
224
-SET view_file_id = (
225
- SELECT view_file_id
226
- FROM meta_app_store AS subquery_meta_app
227
- WHERE subquery_meta_app.name = meta_app.name
228
-)
229
-WHERE `author` = 'smi'
230
-
231
-UPDATE meta_app
232
-SET view_file = (
233
- SELECT att.name
234
- FROM meta_app_store AS subquery_meta_app left join meta_attachment att on subquery_meta_app.view_file_id = att.id
235
- WHERE subquery_meta_app.name = meta_app.name
236
-)
237
-WHERE `author` = 'smi'
238
-
239
-
240
-
241
-2.3 容器准备
242
-升级指引http://iidp.chinasie.com:9999/iidpwiki/upgrad
243
-
244
-2.4 应用市场准备
245
-http://iidp.chinasie.com:9999/iidpdoc/pages/0570a6/#%E5%BA%94%E7%94%A8%E5%B8%82%E5%9C%BA
246
-2.5 MINO准备
247
-Minio数据迁移(mc命令)(同网络迁移方案,不同网络需要自行准备)
248
-mc(MinIO Client)是一个强大的命令行工具,用于管理MinIO和其他兼容的对象存储服务(如Amazon S3)。你可以使用mc来执行各种操作,如创建和删除存储桶,上传、下载和删除对象,配置策略等。
249
-
250
-4.1 下载
251
-wget https:// dl.minio.org.cn/client/mc/release/linux-amd64/mc
252
-chmod +x mc
253
-
254
-4.2 数据迁移常用命令
255
-#注:mc只适合用于同网段minio之间的迁移或确保mc能连接到要迁移的服务器也可以使用mc
256
-
257
-
258
-
259
-例:全量迁移
260
-
261
-如下两台机器minio数据需要进行迁移,10.11全量迁移到10.12
262
-192.168.10.11 minio
263
-192.168.10.12 minio
264
-
265
-
266
-#添加新的minio服务地址
267
-语法: mc alias set 名称 服务地址 用户名 密码
268
-mc alias set minio1 http://192.168.10.11:9000 minioadmin minioadmin
269
-mc alias set minio2 http://192.168.10.12:9000 minioadmin minioadmin
270
-
271
-
272
-#查看已经添加的minio服务信息
273
-mc config host ls
274
-
275
-#移除已经添加的minio服务
276
-mc config host remove minio1
277
-
278
-
279
-#全量迁移,重名文件不覆盖,bucket不存在会自动创建
280
-mc mirror minio1 minio2
281
-#只是迁移某个bucket,以test为例,目标的bucket需要提前建好
282
-mc mirror minio1/test minio2/test
283
-#覆盖重名文件,加--overwrite
284
-mc mirror --overwrite minio1/test minio2/test
285
-
286
-常用命令
287
-已经添加minio服务地址后
288
-
289
-
290
-
291
-192.168.10.11 minio
292
-192.168.10.12 minio
293
-
294
-
295
-#添加新的minio服务地址
296
-语法: mc alias set 名称 服务地址 用户名 密码
297
-mc alias set minio1 http://192.168.10.11:9000 minioadmin minioadmin
298
-mc alias set minio2 http://192.168.10.12:9000 minioadmin minioadmin
299
-
300
-
301
-#列出minio1的桶,和linux的ls一样
302
-mc ls minio1
303
-
304
-#列出minio1中mybucket桶中的数据,和linux的ls一样
305
-mc ls minio1/mybucket
306
-
307
-
308
-#删除桶
309
-mc rm minio1/mybucket
310
-#删除桶中的数据
311
-mc rm minio1/mybucket/yuehansuzhangaiqing99.txt
312
-
313
-
314
-#查看桶的大小
315
-mc du minio1/mybucket
316
-输出如下结果
317
-825KiB 3 objects mybucket
318
-
319
-
320
-#移动桶数据
321
-#把minio1中mydata桶中的数据移动到minio2 archive桶下。
322
-# --recursive:这是一个选项,告诉 mc 移动所有子目录中的对象。如果没有这个选项,mc 只会移动顶层目录中的对象。
323
-
324
-mc mv --recursive minio1/mydata minio2/archive
325
-
326
-
327
-
328
-#复制桶数据
329
-#把minio1中mydata桶中的数据复制到minio2 archive桶下。
330
-
331
-mc cp --recursive minio1/mydata minio2/archive
332
-
333
-
334
-#查看文件内容,如果查看视频二进制文件等内容会乱码
335
-
336
-mc cat minio1/mybucket/suzhanyuehanaiqing99.txt
337
-
338
-
339
-
340
-
341
-
342
-
343
-
344
-
\346\225\260\346\215\256\345\272\223\350\277\201\347\247\273\346\226\271\346\241\210.rdoc