V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
MySQL 5.5 Community Server
MySQL 5.6 Community Server
Percona Configuration Wizard
XtraBackup 搭建主从复制
Great Sites on MySQL
Percona
MySQL Performance Blog
Severalnines
推荐管理工具
Sequel Pro
phpMyAdmin
推荐书目
MySQL Cookbook
MySQL 相关项目
MariaDB
Drizzle
参考文档
http://mysql-python.sourceforge.net/MySQLdb.html
aizya
V2EX  ›  MySQL

多个数据库同时执行同一个 SQL 文件一般都是怎么处理的?

  •  
  •   aizya · 112 天前 · 846 次点击
    这是一个创建于 112 天前的主题,其中的信息可能已经有所发展或是发生改变。

    业务需要,需要同时维护几百个相同的数据库,在更新系统的时候比较痛苦,每个数据库都需要执行相同的 SQL 。

    之前一直都是通过 web 页面去批量执行 sql,但是太慢了。

    目前想法: 1. DBeaver 的 database task,但是每一个数据库都要建一个连接,很麻烦。 2. 使用存储过程

    大家有什么方法吗? 求教。

    paccco
        1
    paccco   112 天前
    这个东西不是写个脚本就搞定了吗?配置拿出来~不太懂你的点在哪里~
    wangbenjun5
        2
    wangbenjun5   112 天前 via Android
    都实现了 web 页面批量执行了,还能慢?莫非是串行执行的?改成并行不就行了
    zoharSoul
        3
    zoharSoul   112 天前
    这是什么魔鬼业务....
    Amit
        4
    Amit   112 天前
    SAAS 系统吗,可以在管理后台加一个数据库升级功能,设置好升级语句后多个实例并行执行升级
    keepeye
        5
    keepeye   112 天前
    串行慢不会改成并行吗
    securityCoding
        6
    securityCoding   112 天前
    维护一个配置表,代码并发执行不就行了么,为何如此纠结...
    SSang
        7
    SSang   112 天前
    看了半天也没看明白问的是什么意思。

    这种 sql 不是应该在每个服务更新的时候自己去加载的吗?一份 sql 文件每个服务启动时候去只读地挂载这个 sql,然后执行。

    页面批量执行 sql 太慢?先弄明白为什么慢吧,在哪执行跟速度没有什么必然的联系。

    而且你的服务拓扑也不清楚,每个 db 一台机器?部署方式是什么?很多部署方式都有初始化执行 sql 的方式。
    aizya
        8
    aizya   112 天前
    @Amit 是的 ,谢谢
    jack778
        9
    jack778   112 天前
    看样子你们真是硬核的 saas 系统,真正实现了数据隔离
    jack778
        10
    jack778   112 天前
    后台起一个服务,接收更新 sql 语句的请求,执行前和执行结束后都记录日志,然后再用你的管理中心广播这个更新 sql
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1855 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 00:22 · PVG 08:22 · LAX 16:22 · JFK 19:22
    ♥ Do have faith in what you're doing.