Add Max Concurrent Connections for database users

Closes #1849

Allows database users to be limited to a number of concurrent connections to prevent one user from connecting hundreds of time and bottlenecking the MySQL server.
This commit is contained in:
AreYouScared 2020-04-22 06:00:04 -04:00
parent 2c3a9228ec
commit f0e4764a11
10 changed files with 56 additions and 6 deletions

View file

@ -135,11 +135,12 @@ class DatabaseRepository extends EloquentRepository implements DatabaseRepositor
* @param string $username
* @param string $remote
* @param string $password
* @param string $max_connections
* @return bool
*/
public function createUser(string $username, string $remote, string $password): bool
public function createUser(string $username, string $remote, string $password, string $max_connections): bool
{
return $this->run(sprintf('CREATE USER `%s`@`%s` IDENTIFIED BY \'%s\'', $username, $remote, $password));
return $this->run(sprintf('CREATE USER `%s`@`%s` IDENTIFIED BY \'%s\' WITH MAX_USER_CONNECTIONS %s', $username, $remote, $password, $max_connections));
}
/**