2012-10-26 12 views
5

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.

+2

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? –

Odpowiedz

Powiązane problemy