给定一个有 3 个数据库(A、B 和 C)和 3 个用户(userA、userB 和 userC)的服务器。
一个数据库必须始终可以访问(db“A”),另外两个数据库不太重要。
对于 200 的 MaxConnections,我可以告诉 Mysql 为我的数据库“A”或我的用户“userA”保留 50 个连接吗?
或者我是否应该将另外两个用户限制为 75 个连接?
最佳答案
没有最小连接资源设置的选项。您可能有多个用户,并且对其中一个用户有资源限制。
此示例始终允许 200 个连接,其中至少 50 个用于 dbA:
CREATE USER 'userA'@'localhost' IDENTIFIED BY 'password'
WITH MAX_USER_CONNECTIONS 200;
CREATE USER 'userB'@'localhost' IDENTIFIED BY 'password'
WITH MAX_USER_CONNECTIONS 75;
CREATE USER 'userC'@'localhost' IDENTIFIED BY 'password'
WITH MAX_USER_CONNECTIONS 75;
然后使用userA
连接dbA,使用userB
和userC
连接另外两个数据库。
MySQL documentation您可以为每个用户设置几个额外的选项:
MAX_QUERIES_PER_HOUR 20
MAX_UPDATES_PER_HOUR 10
MAX_CONNECTIONS_PER_HOUR 5
感谢 Leo 和 akuzminsky 在评论中提出的使用 resource_option 的建议。
关于MySQL : Is there a way to reserve x connections for a given user?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22255387/