Intereting Posts
«Не удалось загрузить запрошенный файл» предоставленный аргумент не является допустимым ресурсом результата MySQL Хеширование пароля с использованием crypt не работает при входе в систему, на котором отображается неправильный пароль Ошибки анализа не отображаются Внедрение Php Chat PHP: пользовательский обработчик ошибок – обработка синтаксических ошибок и фатальных ошибок Функция, которая преобразует значения шестнадцатеричного цвета в приблизительное имя цвета? Разделить массив на уникальные пары Игнорировать / пропустить выходные с strtotime Удалить пустые подпапки с помощью PHP Открытие документа Word в режиме чтения с использованием php? Извлечение набора результатов JSONP в PHP Как написать текстовый файл с условием с помощью PHP Данные Swift httppost, не вставляемые в базу данных MySQL Таймаут страницы PHP при прерывании файла readfile

SSH-туннель через PhpMyAdmin

Я знаю, что это дублированный вопрос, но я пробовал много ресурсов, и никто из них не работал для меня. У моей компании есть сервер Amazon Bastian, в который я SSH. Оттуда я могу использовать SSH для различных IP-адресов для администрирования баз данных. Я хочу, чтобы эти базы данных были доступны в phpmyadmin. Вот насколько я получил:

  1. SSH на главный сервер Amazon через шпатлевку. Используя туннель для порта 3307, когда я нахожусь в localhost: 3307, я получаю сообщение «Добро пожаловать в nginx!». Я предполагаю, что это значит, что я подключен к Amazon.

  2. Я попробовал дополнительные инструкции по настройке хоста здесь: http://shallop.com/2011/04/howto-use-phpmyadmin-to-remote-admin-mysql-dbs-via-ssh-tunnel/

Когда я перезапущу phpmyadmin и попробую новую строку подключения, он просто зависает. Где я здесь не так?

В вашем вопросе есть несколько бит информации, поэтому я сделаю некоторые предположения:

  • Вы запускаете phpmyadmin на локальном веб-сервере
  • Вы хотите создать туннель на этом компьютере для подключения к удаленному серверу mysql, который доступен только через ваш сервер Amazon Bastian

Ну, тогда все должно быть связано с тем, как вы настроили порт вперед, как ваше получение Добро пожаловать в nginx! похоже, что вы перешли порт 3307 на порт 80 на удаленном компьютере.

Попробуйте эту команду ssh:

$ ssh -N <username>@<Bastian server IP> -L 3307:<internal ip of mysql server>:3306 
  • -N означает, что вы не хотите выполнять какие-либо команды (только для порта)
  • 3307 – это локальный порт для пересылки
  • это IP-адрес, который сервер Bastian может использовать для подключения к серверу MySQL
  • 3306 – это порт MySQL, запущенный на удаленном компьютере

Теперь на вашем локальном компьютере выполняется следующее:

 $ telnet localhost 3307 

Вы должны увидеть выведенный номер версии mysql, некоторые случайные символы, а затем mysql_native_password, соединение затем закроется.

вы должны настроить phpmyadmin для использования localhost и порта 3307 для подключения к удаленному серверу.