Verwendung persistenter Verbindungen
Wenn mysqli
zusammen mit mysqlnd
verwendet wird, erzeugt es beim Aufbau einer persistenten Verbindung auf dem
Server einen COM_CHANGE_USER
-
(mysql_change_user()
) Aufruf. Dadurch wird
sichergestellt, dass sich die Verbindung erneut authentifiziert.
Da mit dem COM_CHANGE_USER
-Aufruf ein gewisser Mehraufwand
verbunden ist, ist es möglich, diesen bei der Kompilierung zu deaktivieren.
Wenn dann eine persistente Verbindung wiederverwendet wird, wird ein
COM_PING
- (mysql_ping
) Aufruf erzeugt,
um einfach zu testen, ob die Verbindung erneut verwendet werden kann.
Die Erzeugung von COM_CHANGE_USER
kann mit dem
Kompilierungs-Flag MYSQLI_NO_CHANGE_USER_ON_PCONNECT
deaktiviert werden. Nur als Beispiel:
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
Oder alternativ:
shell# export CFLAGS="-DMYSQLI_NO_CHANGE_USER_ON_PCONNECT" shell# configure --whatever-option shell# make clean shell# make
Es ist zu beachten, dass COM_CHANGE_USER
nur von
mysqli
in Verbindung mit mysqlnd
verwendet wird. Andere Erweiterungs-Treiber-Kombinationen verwenden bei der
ersten Nutzung einer persistenten Verbindung COM_PING
.