Próbuję wyłączyć funkcję automatycznego ponownego nawiązywania połączenia w kliencie MySQL, aktualizując my.cnf
z reconnect=false
w sekcji [client]
pod numerem my.cnf
. Tak więc my.cnf
wygląda mniej więcej tak:Wyłączanie funkcji automatycznego ponownego łączenia w kliencie MySQL
[mysqld]
...
interactive_timeout=30
[client]
port=3306
socket=~/dir/mysql.sock
reconnect=false
To nie działa. Klient przekracza limit 30 sekund, ale ponownie łączy się z serwerem.
Podczas debugowania problemu okazało się, że zmienne klienta MySQL nie są ustawiane. Kiedy wpadłem <dir of mysql>/bin/mysql --help
, widzę, że wartość port
, socket
i reconnect
flaga jest:
./mysql --help
port 0
reconnect TRUE
socket (No default value)
nie chcę ustawić skip-reconnect
z wiersza poleceń. Mogę zgadywać, że konfiguracje klienta od my.cnf
nie są eksportowane do klienta. Ale potrzebuję ostatecznego rozwiązania.
Problem jest czasami niemożliwy do powielenia. Jest kilka maszyn, w których zmiana w my.cnf
działa dobrze.
Czy jesteś pewien, że "my.cnf" jest tym, który jest czytany? Czy widzisz, kiedy robisz 'mysql --help --verbose | grep -A1 Default.options'? Czy wypróbowałeś 'mysql --print-defaults', aby zobaczyć jakie ustawienia masz? Czy istnieje inny plik (np. '~/.my.cnf') nadpisujący to ustawienie? –