持続的接続の使用
mysqli
と mysqlnd
の組み合わせで使っている場合は、
持続的接続を作るときにサーバー上で
COM_CHANGE_USER
(mysql_change_user()
)
を呼び出します。これで、接続の認証が再び行われることになります。
COM_CHANGE_USER
の呼び出しと関連するオーバーヘッドが若干あるので、
コンパイル時にこれをオフにすることができます。
持続的接続を再利用すると、接続が再利用できるかどうか簡単にテストするために、
COM_PING
(mysql_ping
)
の呼び出しが生成されます。
COM_CHANGE_USER
を呼び出さないようにするには、コンパイルのときに
MYSQLI_NO_CHANGE_USER_ON_PCONNECT
フラグを使います。たとえば次のようになります。
例えば、
shell# CFLAGS="-DMYSQLI_NO_CHANGE_USER_ON_PCONNECT" ./configure --with-mysql=/usr/local/mysql/ --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-mysql=/usr/local/mysql/bin/mysql_config --enable-debug && make clean && make -j6
またはその代わりに、
shell# export CFLAGS="-DMYSQLI_NO_CHANGE_USER_ON_PCONNECT" shell# configure --whatever-option shell# make clean shell# make
mysqlnd
上の mysqli
だけが
COM_CHANGE_USER
を使用することに注意してください。
他のエクステンションとドライバーの組み合わせでは、持続的な接続を最初に使用する際に、
COM_PING
を使用します。