› 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 · Aug 10, 2021 · 3287 views
    This topic created in 1879 days ago, the information mentioned may be changed or developed.

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

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

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

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

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

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

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

    而且你的服务拓扑也不清楚,每个 db 一台机器?部署方式是什么?很多部署方式都有初始化执行 sql 的方式。
    aizya
        8
    aizya  
    OP
       Aug 10, 2021
    @Amit 是的 ,谢谢
    jack778
        9
    jack778  
       Aug 10, 2021
    看样子你们真是硬核的 saas 系统,真正实现了数据隔离
    jack778
        10
    jack778  
       Aug 10, 2021
    后台起一个服务,接收更新 sql 语句的请求,执行前和执行结束后都记录日志,然后再用你的管理中心广播这个更新 sql
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2338 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 52ms · UTC 11:28 · PVG 19:28 · LAX 04:28 · JFK 07:28
    ♥ Do have faith in what you're doing.