オプションmax_user_connectionsは、サーバーインスタンスでの同時接続の総数ではなく、個々のユーザーアカウントに課される制限です。
ユーザーがと呼ばれるとしましょうdb_user@localhost
。次のクエリを実行すると、このユーザーの接続制限がわかります。
SELECT max_user_connections FROM mysql.user
WHERE user='db_user' AND host='localhost';
これがゼロ以外の値の場合、次のように変更します。
GRANT USAGE ON *.* TO db_user@localhost WITH MAX_USER_CONNECTIONS 0;
または
UPDATE mysql.user SET max_user_connections = 0
WHERE user='db_user' AND host='localhost';
FLUSH PRIVILEGES;
これmysqld
により、ユーザーdb_user@localhost
がグローバル設定max_user_connectionsを制限として使用できるようになります。
このポイントに到達したら、次を使用してグローバル設定を確認します
SHOW VARIABLES LIKE 'max_user_connections';
これがゼロ以外の値である場合、2つのことを行う必要があります
THING#1:設定を探します/etc/my.cnf
[mysqld]
max_user_connections = <some number>
そのラインアウトをコメント
THING#2:値を動的に設定する
SET GLOBAL max_user_connections = 0;
MySQLの再起動は必要ありません。
警告
私は過去にこの設定について議論しました
試してみる !!!