Ne peut pas se connecter à la base de données (10061)
J'ai un Raspberry Pi (premier modèle) - je utiliser comme un serveur. J'ai suivi un tuto et installé Apache2, MySQL, Phpmyadmin, etc.
J'ai également mis en place un ddns pour mon réseau à la maison pour être en mesure de se connecter à chaque fois que je suis, et bien sûr transmis les ports nécessaires.
Au début, tout a fonctionné à merveille.
- Je pourrais connecter à la base de données à l'aide de phpmyadmin en accédant à
adress/phpmyadmin
à partir de n'importe quel réseau. - J'ai pu également utiliser HeidiSQL pour se connecter à la base de données, à nouveau à partir de n'importe quel réseau.
La version de MySQL que j'avais à cette époque était v5.5. Je voulais une fonction disponible sur les v5.6 mais cette version n'était pas disponible sur mon RPi (ARMv61). Au lieu de cela, il semblait comme MariaDB devrait faire l'affaire. J'ai donc mis à jour à MariaDB à l'aide de la commande:
sudo aptitude install mariadb-server
Maintenant, je ne suis pas en mesure de se connecter par le biais de HeidiSQL plus, Phpmyadmin fonctionne toujours bien de tout réseau, comme précédemment. Essayez de vous connecter avec HeidiSQL je obtenir la sortie (n'importe quel nom d'utilisateur/mot de passe j'ai essayer):
Can't connect to MySQL server on 'adresse' (10061)'
mysql -V
donne de sortie:
mysql Ver 15.1 Distrib 10.0.27-MariaDB, pour debian-linux-gnueabihf (armv7l) à l'aide de readline 5.2
Mon RPi info est
Linux redface 4.4.26+ #915 Jeu Oct 20 17:02:14 BST 2016 armv6l GNU/Linux
Les privilèges d'utilisateur sont disponibles dans l'image ci-dessous
Comment puis-je me connecter à la base de données, en utilisant à nouveau HeidiSQL? Ai-je raté quelque chose avec les privilèges d'utilisateur?
Avec phpmyadmin-je utiliser le nom d'utilisateur root
- Ouais...comme vous pouvez le voir maintenant, votre installation est plus sûr....il n'y a plus
root
@*
de l'utilisateur, de sorte que vous ne pouvez pas vous connecter à votre base de données à partir de tout ip...afin d'accomplir cela, vous devez créer un utilisateur basé sur le client que vous souhaitez vous connecter à votre raspberry serveur(la machine qui a obtenu Heidi Installé)...pouvez-vous assurer que l'adresse ip locale? - mais n'est-ce pas root@% synonyme avec root@*, en % signifie que tout dans l'interface de phpmyadmin? Et aussi, je peux vous connecter via phpmyadmin, même si je ne suis pas en local. Le but pour moi est d'être en mesure de se connecter à partir de n'importe IP, et pas seulement une sélection de quelques-uns. Je suis dans le lit maintenant, peut fournir l'IP locale de demain.
- % signifie un synonyme pour localhost, 127.0.0.1 et ::1
- Ce n'est pas un problème d'autorisations. Le code
(10061)
estWSAECONNREFUSED
-- Connexion refusée. À ne pas confondre avec "accès refusé". Pas de service est à l'écoute sur la cible de l'adresse IP et le port. MariaDB est pas à l'écoute sur0.0.0.0:3306
.mysql -V
ne vous raconte pas le client installé la version, il ne faut pas vous dire quelque chose sur le serveur MariaDB. Vérifier la config pour une commentébind_address=0.0.0.0
. - Je ne peux pas croire que j'ai manqué que lorsque j'ai été googler! Je vous remercie. Faites-en une réponse et je vais l'accepter. Le fichier dans lequel j'avais besoin de faire le changement a été
/etc/mysql/my.cnf
Vous devez vous connecter pour publier un commentaire.
Cette erreur n'est pas sur les autorisations.
Le code
(10061)
est WSAECONNREFUSED -- un Windows erreur de socket code pourConnection refused,
à ne pas confondre avec "accès refusé".Connexion refusée signifie généralement pas de service est à l'écoute sur la cible de l'adresse IP et le port. MariaDB est pas à l'écoute sur 0.0.0.0:3306.
mysql -V ne vous raconte pas le client installé la version, il ne faut pas vous dire quelque chose sur le serveur MariaDB.
Accès à phpMyAdmin n'est pas tout vous dire non plus, car avec elle, vous n'avez pas rencontré le serveur de base de données à distance -- vous parlez à votre serveur web à distance, et votre serveur web est en cours d'exécution du code qui parle à la base de données localement depuis la même machine, et utilise souvent un mécanisme différent de l'accès au serveur qui n'est pas le protocole TCP/IP.
Vérifiez le fichier de configuration pour une commenté
bind_address=0.0.0.0
ou similaire.https://mariadb.com/kb/en/mariadb/configuring-mariadb-for-remote-client-access/