批量升级mysql数据库

情况描述:

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

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

  我现在想的思路是:

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

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

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

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

 

我想问:

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

你要写一个程序来管理这4500多个数据库的升级。

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

速戳参与调研>>>https://t.csdnimg.cn/Kf0y