Могу ли я подключиться к MySQL по SSH с помощью инструментов с графическим интерфейсом?

У меня есть сервер Ubuntu, который я заблокировал только для HTTP, HTTPS и SSH (порт 30000). В этом случае у меня есть сервер MySQL, который 99,9% времени используется только локально. Время от времени я хочу подключиться к экземпляру MySQL с помощью инструментов графического интерфейса, но не касаясь брандмауэра.

Следовательно, можно настроить так, чтобы я мог подключиться к серверу MySQL с помощью SSH-соединения? Есть ли какая-то магия переадресации портов, которую я могу сделать?


person Neil Middleton    schedule 13.05.2009    source источник
comment
Инструменты MySQL, доступные на веб-сайте MySQL — администратор и анализатор запросов.   -  person Neil Middleton    schedule 14.05.2009
comment
Верстак MySQL   -  person Dawid Drozd    schedule 30.09.2016


Ответы (7)


ssh -L localport:127.0.0.1:remoteport user@remotehost

где localport — это свободный порт в вашей локальной системе, remoteport — это порт, который прослушивает MySQL, 127.0.0.1 — адрес обратной связи в вашей удаленной системе, user — ваше имя пользователя, а remotehost — адрес удаленной системы.

Затем укажите в клиенте MySQL 127.0.0.1:localport. Соединение будет перенаправлено через туннель SSH на удаленный порт.

person Daniel Cassidy    schedule 13.05.2009
comment
Итак, если мой удаленный порт SSH — 30000, мой порт MySQL — 3306 (внутри брандмауэра), а на моей машине открыто 22 порта, я могу использовать: ssh -L 22:my_remote_address:3306 user@my_remote_address -p 30000 ? - person Neil Middleton; 14.05.2009
comment
Нет. Вы не сможете сопоставить 3306 на удаленной машине с 22 на локальной машине. Вам нужно быть root на локальной машине, и это тоже будет запутанно. Однако подойдет любое число ›= 1024. - person innaM; 14.05.2009

Если вы используете Windows или Unix на своем локальном компьютере, PuTTY — отличный инструмент для этого. Вот учебник по переадресации портов:

http://www.cs.uu.nl/technical/services/ssh/putty/puttyfw.html

person cliff.meyers    schedule 13.05.2009
comment
ссылка дает ответ 404 - person ng10; 16.11.2020

Настройте туннель с помощью клиента SSH, чтобы сопоставить локальный порт через туннель с портом на удаленном компьютере, а затем подключиться к локальному порту с помощью клиента.

man ssh будет содержать кровавые подробности, но вам, вероятно, лучше поискать в Интернете что-нибудь более легкое для чтения.

person Rob    schedule 13.05.2009

Я бы предложил использовать HeidiSQL, если вы работаете в Windows. Он сам обрабатывает SSH-туннель (нужно просто скачать утилиту plink.exe).

По моему скромному мнению, это лучший инструмент MySQL (он бесплатный и с открытым исходным кодом).

person David Morales    schedule 04.11.2010

Существует два способа использования инструментов GUI mysql на удаленной машине MYSQL.

Я предполагаю, что удаленная машина работает под управлением Linux.

Опция 1.

Перенаправление портов SSH.

ssh -L 3306:прокси:3306 имя пользователя@удаленный хост

В основном вы перенаправляете порт 3306 на вашем локальном компьютере на 3306 на вашем удаленном компьютере, затем вы указываете своему графическому инструменту MYSQl подключиться к localhost: 3306 и предполагаете, что ваш удаленный компьютер прослушивает стандартный порт 3306.

http://magazine.redhat.com/2007/11/06/ssh-port-forwarding/

Также ssh -D 3306 username@remotehost должно быть похоже

Вариант 2.

Если вы используете xserver на своем удаленном компьютере и на нем установлены инструменты графического интерфейса, вы можете туннелировать свой графический интерфейс через соединение SSH.

ssh -X username@remotehost, а затем запустите инструменты с графическим интерфейсом на удаленной машине из командной строки.

person zmanian    schedule 21.05.2009

Туннелирование SSH/HTTP в SQLyog — это хорошо. Существует аутентификация с открытым/закрытым ключом, которая добавляет дополнительный уровень безопасности.

введите здесь описание изображения

person Jacob    schedule 02.08.2012

Я предлагаю обратить внимание на phpMyAdmin, веб-инструмент для администрирования MySQL, и он очень хорош (требуется PHP). Его можно установить с помощью обычных методов Ubuntu (например, Synaptic).

Или выполните X-туннелирование с помощью SSH, как указано выше.

person Alya    schedule 14.05.2009