login annulée (Avez-vous une erreur en lisant des packages de communication)

La mysql error.log montre

[Warning] Aborted connection 320935 to db: '...' user: '...' host: '...' (Got an error reading communication packets) 

Alors que le côté client obtient:

 Lost connection to MySQL server at 'reading initial communication packet', system error: 111 Lost connection to MySQL server at 'reading authorization packet', system error: 0 and after a while: Host '...' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts' 

J'ai lu le manuel mysql à propos de cela, et beaucoup d'autres threads. J'ai donc changé certaines valeurs dans my.cnf

 max_allowed_packet = 512M connect_timeout = 60 net_read_timeout = 120 innodb_buffer_pool_size = 5G 

J'ai regardé le journal de requête d'une connection brisée:

 22400 Connect user@host on dbname 22400 Query SELECT @@sql_mode 22400 Query SET SESSION sql_mode='' 22400 Query SET NAMES utf8 22400 Init DB dbname 22400 Init DB dbname 

Statut du tableau vérifié. bind-address est l'IP du server mais je dois pouvoir me connecter depuis l'extérieur.

 Aborted_connects is 196 

3 Solutions collect form web for “login annulée (Avez-vous une erreur en lisant des packages de communication)”

Basé sur datatables limitées, je me request si vous avez un pare-feu entre le client et le server MySQL (peut-être sur les hôtes directement), ce qui permet 3306 au server MySQL, mais bloque les packages de réponse à la requête SYN initiale.

Vous voudrez peut-être effectuer une vidange de packages des deux côtés pour déterminer ce qui se passe sur le côté TCP et / ou vérifier les pare-feu qui existent entre les deux côtés.

Je soupçonne que ce n'est pas un problème mysql en tant que tel.

Vérifiez que la couche de transport est correcte. Pouvez-vous get une connection tcp en utilisant telnet [db_server] 3306 ?

Votre client et votre server sont-ils d'accord pour savoir si la connection doit être cryptée SSL?

Je ne peux pas penser à de nombreuses situations où je voudrais exécuter une connection mysql sur l'Internet public, ce que je soupçonne, c'est ce que vous entendez par «pouvoir se connecter depuis l'extérieur». Si elle n'est pas chiffrée, il s'agit d'un énorme risque pour la security, et les frais généraux de configuration de SSL pour chaque connection sont trop élevés pour la plupart des utilisations. Vous voudrez peut-être regarder un tunnel chiffré persistant de quelque sorte.

La connection annulée est considérée comme une erreur de connection dans MySQL qui peut ne pas être connectée au journal des erreurs MySQL. Voir les connections TCP abandonnées qui ne sont pas enregistrées comme des erreurs, mais entraînent un hôte bloqué .

  • Comment puis-je copyr le tableau des users MySQL d'un server à un autre?
  • mysql client lent login strace
  • Mise en cache de requêtes MySQL - que se passe-t-il si le server manque de RAM?
  • Problème de déplacement d'un directory de données MySQL vers un nouveau lecteur
  • La réplication MySQL ne fonctionne pas - pas d'erreurs
  • Comment modifier lower_case_table_names pour un user spécifique de MYSQL?
  • ubuntu - annuaire mysql de sauvegarde
  • URGENCE! Déclaration de mise à jour pour la database critique de production mysql maintenant pendant 18 heures, besoin d'aide
  • Réinitialisation du mot de passe root pour les problèmes MySQL (Mac OS X Lion)
  • Impossible de se connecter à un nouvel user mysql
  • La sauvegarde d'une database mysql en cours d'utilisation peut-elle provoquer une corruption?
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.