首页 新闻 赞助 找找看

批量升级mysql数据库

0
悬赏园豆:5 [待解决问题]

情况描述:

现在管理着10多台windows服务器,每台服务器上有3个MySQL数据库实例,每个实例上有150个数据库,每次都要升级这4500个数据库。

升级的内容就是数据表增加字段,修改字段,修改存储过程等等,要保持这些库结构一致。

我现在想的思路是:

在这10台服务器上都装上一个服务A,由服务A来接收指令执行对应服务器上的3个实例的450个数据库进行语句升级。

装一个总控制程序B,由程序B告诉服务A需要执行什么升级语句。

因为升级语句在这么多库上执行时不能保证100%都执行通过,如果有100多个库执行失败了,那就需要对这些失败的库重新执行升级更新语句,所以还想对升级语句进行处理,保证这些语句可以重复多次执行。

由于mysql的语句特性,不能在语句文本(非存储过程)中执行IF 代码块,如果语句中新增列,需要先判断该列是不是已经存在了,不存在再新增,如果存在就不新增了。 在服务A中对语句分析,发现语句是ADD COLUMNS 则程序先判断该字段是否存在,再执行

我想问:

想问问大家这种情况都是怎么升级数据库的?用的什么方法?如果自己写软件,那实现的思路大概是什么样呢?

百年俊少的主页 百年俊少 | 菜鸟二级 | 园豆:203
提问于:2021-05-11 10:31
< >
分享
所有回答(5)
0

我觉得大家都遇不到这种情况

yytxdy | 园豆:1680 (小虾三级) | 2021-05-11 14:07

如果你遇到了会怎么做,可以想想,面试的时候问道了你怎么办?

支持(0) 反对(0) 百年俊少 | 园豆:203 (菜鸟二级) | 2021-05-11 17:12
0

配置主从同步

IT·小白 | 园豆:222 (菜鸟二级) | 2021-05-11 18:10
1

多租户数据库更新?

保镖 | 园豆:759 (小虾三级) | 2021-05-13 09:37

是的

支持(0) 反对(0) 百年俊少 | 园豆:203 (菜鸟二级) | 2022-06-15 15:43
1

我之前工作有这种业务,有2台服务器,几百个mysql 数据库管理 。 在服务器上运行 winform 数据中心程序,直接进行数据库操作,每次需要更新数据库结构,从iis网站上传sql 脚本,然后用 websocket,消息队列等技术通知winform软件执行该sql脚本

geass.. | 园豆:1821 (小虾三级) | 2021-05-14 17:47

嗯,思路查不多

支持(0) 反对(0) 百年俊少 | 园豆:203 (菜鸟二级) | 2022-06-15 15:44
0

最后在工作中也遇到类似情况,不过比楼主好一点,没有4500个数据库这么多。
我自己编写了一个工具,可以同时批量对多数据库执行相同脚本,并记录执行结果,你可以试一下。
软件名字:库飞侠
https://download.csdn.net/download/vernyang/86394556

773 | 园豆:202 (菜鸟二级) | 2022-08-15 10:27
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册