Назад | Перейти на главную страницу

Подключение к MYSQL через туннель SSH

Я могу подключиться по ssh к удаленному серверу и войти в систему без проблем.

Я пытаюсь подключиться к удаленной базе данных mysql через туннель ssh и сталкиваюсь с проблемами. Я успешно создал туннель (проверено telnet). Когда я пытаюсь войти в систему с помощью команды:

mysql --host=127.0.0.1 -P 3302 -u fakeuser -p

я получил

Access denied for user 'fakeuser'@'192.168.100.93'

Проблема в @ 192.168.100.93. Я считаю, что мне нужно, чтобы это был fakeuser @ localhost. Поскольку я подключаюсь через туннель SSH, почему он не настроен на localhost? Как заставить его подключиться к localhost? откуда он берёт 192.168.100.93?

Обратите внимание, что я не могу изменить какие-либо настройки на сервере MySQL.

Спасибо за помощь!

Когда вы используете ssh-туннель, он устанавливает зашифрованную связь между вашей системой и удаленным сервером и связывает удаленный открытый порт с вашим определенным портом.

ssh -L 33333: локальный: 3306 fakeuser@server.remote.com

здесь 3306, как вы сказали, это порт mysql.

используйте IPADDRESS вместо localhost, т.е. 127.0.0.1

Connection to 10.10.0.31 closed.
linux@tuxworld:~$ ssh -fNg -L 33333:localhost:3306 root@10.10.0.31
root@10.10.0.31's password: 
linux@tuxworld:~$

См. Ниже, например, что я сделал недавно, пользователь mysql является пользователем root, а пользователь ssh также является пользователем root. Я открыл новый терминал

linux@tuxworld:~$ mysql -u root -h 127.0.0.1 -P 33333
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.1.69 Source distribution

Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> exit
Bye
linux@tuxworld:~$