Errore di connessione al database mysql

La mia applicazione deve fare molto frequente connette a un database mysql su un'altra macchina. Tuttavia ho frequenti errori di connessione; Di solito si può connettersi, ma dopo molti tentativi. Il messaggio di errore che ho ricevuto è:

Mysql.mysql(): Couldn't connect to SQL-server: Lost connection to MySQL server at 'reading authorization packet', system error: 2

  • Replica di un server web linux
  • 403 È proibito quando si tenta di accedere a una cartella nella root del documento di nginx
  • MySQL non si avvia dopo aver impostato l'indirizzo di rilascio esterno
  • Se ho i file MySQL .frm, .MYD e .MYI, posso ricreare il db senza SQL?
  • Come eliminare tutte le tabelle in un database MySQL senza lasciare il database?
  • Il servizio "mysqld stop" si spegne (poi ha scoperto che "mysqld morti ma sottoscrizioni bloccati")
  • Ho letto le informazioni qui: http://dev.mysql.com/doc/refman/5.0/en/error-lost-connection.html e anche i commenti al bug http://bugs.mysql.com/bug .php? id = 28359 .

    Ci sono un certo numero di connessioni abortite come si può vedere:

      mysql> SHOW STATUS GLOBALE COME 'Aborted_connects';
     + ------------------ + ------- +
     |  Nome variabile |  Valore |
     + ------------------ + ------- +
     |  Aborted_connects |  2540 | 
     + ------------------ + ------- + 

    Ho aumentato il timeout da 5 a 15 secondi:

      mysql> mostra variables come 'connect_timeout';
     + ----------------- + ------- +
     |  Nome variabile |  Valore |
     + ----------------- + ------- +
     |  connect_timeout |  15 | 
     + ----------------- + ------- + 

    ma questo non ha aiutato. Quali suggerimenti su come eseguire il debug di questo? Rende l'interazione del database orribilmente lento quando deve in media provare a connettersi 5 volte prima di funzionare.

    Non ho ancora cercato di mantenere la connessione aperta per tutta la durata dell'applicazione, sarebbe meglio? Come faccio a impedire la chiusura della connessione?

    Se aiuta il computer con i problemi è Windows 7 a 32 bit, mentre il server mysql è su Debian Linux.

  • Metodo di authentication centralizzato
  • La password amministrativa di MariaDb non sembra funzionare
  • Posso impostare password specifiche per applicazioni su Ubuntu?
  • Utilizzo di Windows Server, come posso programmare un'operazione oraria che chiamerà un URL con un'intestazione di authorization?
  • Codice sorgente di download di Nginx Password Protect Directory
  • Apache: authorization di base per root, restrizione host nella directory
  • 2 Solutions collect form web for “Errore di connessione al database mysql”

    Guardando su tutti i dettagli di un bug, i rapporti che sospetto vi sia un problema di networking o di lato client. Qualcosa è danneggiato o aggiunge troppa latenza ai dati mysql.

    In una networking chiara, fai una traccia di wireshark e controlla quale sia la conversazione. Assicurarsi che nessuna forma di traffico sia in corso. Sembra un problema di 64bit solo in modo da controllare una build di 32bit solo per assicurarsi che sia lo stesso problema. Verifica su una casella di Windows XP – M $ ha fatto qualche roba funky allo stack di networking su Vista che lo ha fatto aspirare – bit tempo! Non abbiamo problemi di networking con Vista e Win7!

    Se gestisci una traccia di wireshark please pastebin e metta il link come ci piacerebbe come uno sguardo che penso.

    Alla fine questo si è rivelato dovuto ad un problema di networking generale sulla macchina. La soluzione è stata trovata in: Problemi relativi alle performance di networking in Windows 7

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.