MySQLのmax_user_connectionsについて

MySQLのmax_user_connectionsについて

Posted at January 28,2013 12:55 AM
Tag:[MySQL]

MySQLのmax_user_connectionsについて紹介します。

MySQL

これを調べるきっかけになったのは、Movable Type 5.2.3がリリースされ、リリースの内容が「5.2.3ではMySQLのmax_user_connectionsが20以下に設定されている場合に、新規インストール・アップグレードが出来ない問題を解消しています」というものだったためです。

1.MySQLのmax_user_connectionsとは

MySQLのmax_user_connectionsは、データベースへの同時接続数を制限するための変数です。

公式ドキュメントの「4.8.4. ユーザ リソースの制限」にmax_user_connectionsの解説があり、グローバルレベル(または単一アカウント)で適用されるようです。

4.8.4. ユーザ リソースの制限

MySQL サーバ リソースの使用を制限することの一つの方法として、スタートアップ変数の max_user_connections をゼロ以外の値に設定することがあります。しかし、この方法は完全にグローバルに適用するため、個別アカウントの管理はできません。これに加えて、この方法は、単一アカウントによる同時接続の数を制限するものであり、これは クライアントが制限できることではありません。このようなタイプの制御は、インターネット サービス プロバイダ業界などでの MySQL 管理者に高い関心をよせる点です。

同時接続数の設定は、権限の設定を行うGRANT文を使います。

GRANT 権限 ON レベル TO ユーザー WITH MAX_USER_CONNECTIONS 同時接続数;

max_user_connectionsに「0」を設定した場合、「制限がない」という意味になるようです。

また、「WITH MAX_USER_CONNECTIONS」を省略した場合のデフォルト値も「制限がない」という意味になりようですが、前述の「4.8.4. ユーザ リソースの制限」に、

GRANT ステートメントに WITH 節がない場合は、この制限はデフォルト値、ゼロでの設定になります。つまり、制限がないことになります。MAX_USER_CONNECTIONS の整数は、アカウントが一度にできる同時接続の最大回数を表します。この制限を、デフォルト (ゼロ) にした場合、max_user_connections システム変数でアカウント同時接続回数を決定します。

とあるので、上位レベル(たとえばデータベースレベルの設定であればグローバルレベル)の設定が適用されるように読み取れます。間違っていたらすいません。

2.phpMyAdminでmax_user_connectionsを確認する

phpMyAdminでmax_user_connectionsを確認するには、phpMyAdminにログインした直後の画面で「変数」タブをクリック。

Movable Type 5.2.3phpMyAdminにログインした直後の画面

「サーバ変数と設定値」というタイトルで変数の名前と設定がずらっと表示され、この中に「max user connections」があります。

サーバ変数と設定値

このブログで現在使っている「さくらのビジネスプロ」では「30」になっていました。

3.phpMyAdminでmax_user_connectionsを設定・変更する

phpMyAdminでmax_user_connectionsを設定するのは「新しいユーザーの作成」で行います。言い換えると、レンタルサーバなどで「ユーザーの作成」が表示されない場合はmax_user_connectionsを設定・変更することはできません。

ユーザー作成画面に「グローバル特権」があるので、ここに表示された「リソースの制限」にあるmax_user_connectionsを設定します。

リソースの制限

変更する場合は、「特権」でユーザー一覧を表示させた右側にある編集アイコンをクリックすれば、さきほどと同じ設定画面が表示されます。

ユーザー一覧

関連記事
トラックバックURL


コメントする
greeting

*必須

*必須(非表示)


ご質問のコメントの回答については、内容あるいは多忙の場合、1週間以上かかる場合があります。また、すべてのご質問にはお答えできない可能性があります。予めご了承ください。

太字イタリックアンダーラインハイパーリンク引用
[サインインしない場合はここにCAPTCHAを表示します]

コメント投稿後にScript Errorや500エラーが表示された場合は、すぐに再送信せず、ブラウザの「戻る」ボタンで一旦エントリーのページに戻り(プレビュー画面で投稿した場合は、投稿内容をマウスコピーしてからエントリーのページに戻り)、ブラウザをリロードして投稿コメントが反映されていることを確認してください。

コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。例えば「<$MTBlogURL$>」は「&lt;$MTBlogURL$&gt;」となります(全て半角文字)