2011-07-08 5 views
1

Je suis sur l'ordinateur A, et ai mysql fonctionnant dessus, et peux me relier à lui comme A~ $ mysql -u punkish -p database et ainsi de suite.mysql sur ssh sur le port non-standard

J'ai accès à l'ordinateur B qui fonctionne également avec mysql. Je peux ssh en B sur le port 2200 avec des paires de clés ssh mis en place, et une fois, je peux me connecter à la db comme si

A~ $ ssh -p 2200 [email protected] 
B~ $ mysql -u punkish -p database 

Cependant, je veux mettre en place la redirection de port sur ssh sur mon ordinateur pour tous les demandes faites pour mysql sur le port 3307 sur mon ordinateur A sont en fait envoyées au port 3306 sur B. Cela me permettra d'utiliser un programme gui qui veut se connecter à mysql, mais ne peut pas le faire via un tunnel. Alors, je fais les

A~ $ ssh -p 2200 -L 3307:B:3306 [email protected] 
B~ $ 

suivant les journaux ci-dessus me droite dans B. Je ne sais pas si le tunnel est établi, mais je suppose qu'il est. Cependant, ce qui suit ne fonctionne pas (dans un autre terminal

A~ $ mysql -P 3307 -u punkish -p 
Enter password: 
ERROR 1045 (28000): Access denied for user 'punkish'@'localhost' (using password: YES) 

Voici la chose intéressante - je un autre programme IUG appelé Sequel Pro (un client MySQL de bureau pour Mac OS X), et qui est en mesure d'établir une connexion mysql @ B sur ssh très bien, donc, je sais que quelque chose fonctionne ... Je ne sais pas comment, donc je peux être en mesure de l'activer pour un autre programme gui

+0

Peut-être que ce serait mieux adapté pour super-utilisateur (http://superuser.com/)? – Eddie

Répondre

1

mysql tente généralement d'utiliser une socket Si vous ne spécifiez pas de nom d'hôte, indiquez -h 127.0.0.1 dans la commande mysql (notez que je n'ai pas dit localhost, il les traite différemment), ce qui force une connexion TCP à la place de la connexion au fichier socket

+0

ok. En fait, j'avais essayé et échoué, mais j'ai essayé encore une fois. Je reçois une erreur différente comme si 'A ~ $ mysql -P 3307 -p -h 127.0.0.1 -u punkish Entrez le mot de passe: ERREUR 2013 (HY000): Perte de connexion au serveur MySQL à« lecture du paquet de communication initiale », système erreur: 0' – punkish

+0

Aucune idée. Comme je ne connais rien à la configuration de votre tunnel, c'est le meilleur que je puisse vous offrir. Essayez d'exécuter 'nmap -Pn -p3307 localhost' pour vous assurer que le port écoute correctement. –

+0

Je suis sur Mac OS X, et pour autant que je sache, il n'y a pas de 'nmap'. – punkish