web-dev-qa-db-fra.com

Connexion impossible: connexion perdue au serveur MySQL lors de la lecture du paquet de communication initial, erreur système:

J'utilise une application Rails alors j'essaie maintenant de me connecter à distance à mysql et j'obtiens cette erreur Connexion impossible: connexion perdue avec le serveur MySQL à la 'lecture du paquet de communication initial', erreur système: 0

13
Steven

Vous voudrez peut-être vérifier votre /etc/hosts.deny où:

ALL: ALL: DENY

ou

mysqld: ALL: DENY

est ton ennemi.

11
jlg

vérifier de cet hôte

Shell> telnet IP 3306

Si MySQL est activé et accessible, vous verrez la version de mysql dans la sortie telnet. Sinon, vérifiez le pare-feu, etc. jusqu'à ce que telnet réussisse.

Ensuite, je vous conseille d’abord de vous connecter au client mysql natif pour exclure Rails de l’air problématique.

3
noonex

Le redémarrage du serveur a fonctionné pour moi. Aucun changement de paramètres requis.

3
Malcolm

Activer l'accès à distance

Le serveur MySQL n'écoute pas sur le port 3306 TCP par défaut. Pour autoriser les connexions (à distance) TCP, commentez la ligne suivante dans /etc/mysql/my.cnf:

sauter le réseautage

N'oubliez pas de modifier /etc/hosts.allow en ajoutant les lignes suivantes:

mysqld: ALL: PERMETTRE

mysqld-max: ALL: ALLOUER

3
Federico Jaramillo

Vous devez éditer votre fichier de configuration mysql. Par défaut, bind-adress est défini sur 127.0.0.1.

Ouvert: /etc/mysql/my.cnf

Changez le bind-adress en ip que vous allez utiliser pour connecter yoursef au serveur de base de données.

2
Roch

mysqld-max: ALL: ALLOW a résolu le problème pour moi

1
Ben

Merci les gars pour vos efforts, j'ai trouvé la solution, j'étais supposé configurer la connexion à distance à MySQL Voici le lien pour quelqu'un qui a la même erreur http://benrobb.com/2007/01/15/howto-remote-root-access-to-mysql/

1
Steven

Comme nous le savons tous, il existe de nombreuses façons d’installer et de configurer mySQL dbms (système de gestion de base de données) sur nos machines, outre le fait que nous exécutons tous des systèmes d’exploitation différents (linux, osx, win $ hit, etc.).

Dans mon cas en particulier je devenais

connect': Lost connection to MySQL server at 'reading initial communication packet', system error: 102 (Mysql2::Error)

MAIS Je n'avais même pas /etc/hosts.deny Je n'avais que /etc/hosts car j'ai installé MySQL sur ma machine OSX à l'aide d'une simple application graphique OSX

 enter image description here Le statut de l'instance MySQL était NON OK l'image ci-dessus n'est qu'une référence pour MySQL OSX APP.

Un simple redémarrage du serveur a résolu le problème (dans mon cas, il a fallu redémarrer ma machine, mais cela implique de redémarrer le serveur MySQL).

J'ai enfin réussi à atteindre correctement mon instance localhost, je n'ai pas eu à changer, créer un seul fichier.

J'espère que cela aide, je vois la réponse et les commentaires de Malcolm et m'a fait penser que c'était bien de poster ça.

1
d1jhoni1b

Personne n'a semblé répondre à cette question, et il semble que le problème soit redevenu un problème près de sept ans après son dépôt initial. J'ai vu cela sur l'application Rails exécutant Capybara (en utilisant phantomjs), mes spécifications d'intégration (uniquement) échouaient de manière intermittente avec cela.

Le redémarrage de la machine a temporairement résolu le problème.

J'ai ensuite implosé complètement mon installation MySQL (voir https://community.jaspersoft.com/wiki/uninstall-mysql-mac-os-x ) et je l'ai réinstallé sous homebrew. Le problème semble avoir disparu mais je mettrai à jour cette réponse si elle revient.

pour imploser complètement votre installation MySQL (à partir de https://community.jaspersoft.com/wiki/uninstall-mysql-mac-os-x ):

Ouvrez une fenêtre de terminal Utilisez mysqldump pour sauvegarder vos bases de données dans des fichiers texte! Arrêtez le serveur de base de données

Sudo rm /usr/local/mysql
Sudo rm -rf /usr/local/mysql*
Sudo rm -rf /Library/StartupItems/MySQLCOM
Sudo rm -rf /Library/PreferencePanes/My*

éditez/etc/hostconfig et supprimez la ligne MYSQLCOM = -YES-

rm -rf ~/Library/PreferencePanes/My*
Sudo rm -rf /Library/Receipts/mysql*
Sudo rm -rf /Library/Receipts/MySQL*
Sudo rm -rf /private/var/db/receipts/*mysql*
0
Jason FB

Vous utilisez OS X? Est-ce que ce problème disparaît pendant un moment après le redémarrage de mysqld, puis à nouveau Vérifiez les journaux du serveur mysql lors de l’obtention de ces erreurs. Je vois un tas d'entrées comme ci-dessous:

2019-01-30T17:34:04.009979Z 0 [Warning] File Descriptor 1564 exceeded FD_SETSIZE=1024

Cette erreur pointe vers des solutions potentielles: https://expressionengine.com/blog/mysql-5.7-server-os-x-has-gone-awayhttps: //wilsonmar.github .io/maximum-limits/

L'un d'eux ajoute les paramètres suivants à my.cnf

[mysqld]
table_open_cache=250
0
Wojtek Kruszewski