![一个服务器节点上拥有多个 MySQL 数据库是否存在缺陷?](https://linux22.com/image/522783/%E4%B8%80%E4%B8%AA%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%8A%82%E7%82%B9%E4%B8%8A%E6%8B%A5%E6%9C%89%E5%A4%9A%E4%B8%AA%20MySQL%20%E6%95%B0%E6%8D%AE%E5%BA%93%E6%98%AF%E5%90%A6%E5%AD%98%E5%9C%A8%E7%BC%BA%E9%99%B7%EF%BC%9F.png)
我想为将来的分片做好准备。但现在我只需要一个节点。
我想要做的是将数据库分成虚拟分片,比如说 12 个分片,然后将它们全部放在同一个服务器节点上。
当我需要扩展时,我只需获取第二台服务器并将 12 个虚拟分片中的 6 个移动到新机器上即可。
一台机器上拥有 12 个不同的数据库是否存在缺陷?
- 我仍然可以只运行 1 个 MySQL 实例来支持这 12 个数据库吗?
- 拥有 12 个数据库是否会导致更高的内存使用量?
- 这是否需要 12 倍的数据库连接数?
- 还有其他陷阱吗?
谢谢。
答案1
没什么问题。内存使用可能会有轻微的开销,但如果您必须考虑分片,那么内存不应该是您的主要问题。
您的应用程序可以使用连接池。大多数 MySQL 连接器都支持此模式,它让池管理器决定以最有效的方式处理请求。理论上,它们也可以使用同一个连接(并发出“USE db_name”来更改数据库),但这会让开发人员感到困惑。