mysql のデフォルトの最大接続数は 100 です。この値は、多くの同時接続を持つデータベース アプリケーションにとっては十分ではありません。接続要求がデフォルトの接続数を超えると、データベースに接続できないエラーが発生します。最大接続数を変更するには、safe_mysqld を変更する方法と、元のコードを直接変更して再コンパイルする方法があります。以下では、これら 2 つの方法をそれぞれ紹介します:
1.safe_mysqld を変更します。
safe_mysqld を見つけて編集し、mysqld が開始されている 2 行を見つけて最後にパラメータを追加します:
-O max_connections=1000
例: (その前に -- があります) - は元のコンテンツ、+++ は変更されたバージョンです)
---safe_mysqld.orig Mon Sep 25 09:34:01 2000
+++safe_mysqld Sun Sep 24 16:56:46 2000
@@ -109,10 +109,10 @@
if test "$#" -eq 0
その後
nohup $ledir/mysqld --basedir=$MY_BASEDIR_VERSION --datadir=$DATADIR
- --skip-locking >> $err_log 2>&1
+ -- スキップロック -O max_connections=1000 >> $err_log 2>&1
else
nohup $ledir/mysqld --basedir=$MY_BASEDIR_VERSION -- datadir=$DATADIR
- --skip-locking "$@" >> $err_log 2>&1
+ --skip-locking "$@" -O max_connections=1000 >> $err_log 2> ;&1
fi
if test ! -f $pid_file # 通常のシャットダウンの場合は削除されます
その後mysql を閉じて再起動し、
/Mysqladmin path/mysqladmin -uroot -p 変数
を使用します。root データベース アカウントのパスワードを入力すると、
| が表示されます。 | 1000 |
つまり、新しい変更が有効になりました。
2. 元のコードを変更します
MySQL の元のコードのロックを解除します。
内部の sql ディレクトリに入り、mysqld.cc を変更して次の行を見つけます。
{ "max_connections", (long*) &max_connections,100,1,16384,0,1}, 次のように変更します: { "max_connections", (long*) &max_connections,1000 ,1,16384,0,1}, 保存して終了し、./configure ;make;make install を実行しても同じ効果が得られます。