Я могу подключиться к БД через Sequel Pro, но не через командную строку - PullRequest
3 голосов
/ 03 февраля 2012

Я могу подключиться к моей БД с Sequel Pro, но не могу через командную строку. Я следовал их инструкциям здесь: http://www.sequelpro.com/docs/Connecting_to_a_MySQL_Server_on_a_Remote_Host#Do_I_need_to_use_the_Terminal_for_SSH_connections.3F

В их команде я заменяю следующее из окна подключения и вкладки SSH в Sequel Pro:

ssh -L 1234:mysqlhost:3306 sshuser@sshhost

mysqlhost => MySQL Host
sshuser => SSH User
sshhost => SSH Host

И когда мне предлагают пароль, я использую пароль из "SSH Password"

Я не уверен, что Sequel Pro делает по-другому за сценой.

1 Ответ

7 голосов
/ 04 февраля 2012

Эта инструкция из документации Sequel Pro - не совсем целая история;это просто говорит вам, как настроить туннель.Вам нужен второй шаг, чтобы фактически использовать для подключения к серверу MySQL.

Фактический процесс состоит из двух шагов:

  1. Создание туннеля.

    ssh -N -L 1234:mysqlhost:3306 sshuser@sshhost
    

    -N, который я добавил, просто говорит ssh, что вы только настраиваете туннель и не хотите запускать оболочку на sshhost.Запуск этой команды будет выглядеть так, будто она ничего не делает: вот как она должна выглядеть.

    Пока работает команда ssh, соединения с портом 1234 на вашем локальном компьютере будут туннелироваться через sshhost напорт 3306 (порт MySQL) на mysqlhost.

  2. Подключение к MySQL с использованием туннеля.

    Теперь вам нужно запустить клиент командной строки mysql.Команда ssh, которую вы только что выполнили, все еще выполняется, поэтому вам проще всего открыть новое окно или вкладку Терминала и выполнить:

    mysql -P 1234 -u mysqluser -p
    

    , чтобы подключиться к вашей базе данных.Часть -P 1234 является единственной необычной частью этой команды, и она просто устанавливает клиент mysql, используя порт, который вы указали в первой команде для выполнения туннелирования.

Когда вы закончите с туннелем, либо закройте исходное окно терминала, либо используйте Ctrl-C , чтобы остановить процесс ssh.

...