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
Vous voudrez peut-être vérifier votre /etc/hosts.deny où:
ALL: ALL: DENY
ou
mysqld: ALL: DENY
est ton ennemi.
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.
Le redémarrage du serveur a fonctionné pour moi. Aucun changement de paramètres requis.
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
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.
mysqld-max: ALL: ALLOW a résolu le problème pour moi
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/
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
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.
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*
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