Подключение к MySQL на Serverpilot через SSH и Navicat - PullRequest
0 голосов
/ 24 мая 2018

Кто-нибудь использовал ServerPilot на VPS и был в состоянии подключиться к серверу MySQL через SSH с Navicat?На других серверах / панелях я делаю это постоянно, без проблем;но он не установит соединение с базой данных MySQL на ServerPilot (Navicat выдает «Ошибка соединения SSH; Тайм-аут»).Я использую Navicat на настольном компьютере с Windows и пытаюсь подключиться к моей удаленной базе данных Ubuntu VPS.

На любом другом сервере / панели, которые я пробовал годами, эта конфигурация всегда работает:

Вкладка ОБЩИЕ:

  • Имя хоста / IP-адрес : 127.0.0.1 (или "localhost")
  • Порт :3306.
  • Имя пользователя : [имя пользователя базы данных, например, имя, назначенное ServerPilot]
  • Пароль [пароль базы данных, например, назначенныйServerPilot]

Вкладка SSH:

  • Имя хоста / IP-адрес : [основной IP-адрес моего VPS]
  • Порт : 22 (на удаленном VPS) [22, кажется, правильный порт в ServerPilot, потому что Putty может войти в этот порт]
  • Имя пользователя : root [или, "serverpilot "на серверах ServerPilot]
  • Пароль : [пароль root SSH моего VPS;или пароль SSH «serverpilot» на серверах ServerPilot]

Это также должно работать с ServerPilot в соответствии с https://serverpilot.io/community/articles/connect-to-mysql-remotely.html.Но это не так.

Я также пытался отдельно открыть туннель SSH с Putty для https://support.cs.wwu.edu/index.php/Tunneling_MySQL_ports_through_SSH#Tunneling_with_PuTTY_in_Windows_.28Older.29.Для баз данных на других серверах / панелях Navicat прекрасно подключается к MySQL.Но не тогда, когда база данных находится на ServerPilot (выдает ошибку: «2013 - Потерянное соединение с сервером MySQL во время запроса» при «проверке» соединения в Navicat).

Конечно, я не единственный, ктопопытался подключиться к MySQL на сервере ServerPilot.Если у вас получилось, или если вы знаете как, пожалуйста, объясните.(Кстати, phpMyAdmin отлично работает на ServerPilot, но я считаю, что Navicat гораздо удобнее для определенных задач при программировании на php.) Спасибо.

1 Ответ

0 голосов
/ 27 мая 2018

Во-первых, как указано в https://www2.navicat.com/manual/online_manual/en/navicat/mac_manual/SSHSettings.html, проверьте настройку «AllowTcpForwarding» (которая должна быть «да» - в противном случае переадресация порта SSH будет отключена) в: / etc / ssh / sshd_config.Если вы отредактировали этот файл, перезапустите службу SSH.Поскольку это Ubuntu, это будет: «service ssh restart» (а не «service sshd restart», как в некоторых других разновидностях linux).

Если Navicat по-прежнему не подключается к серверу удаления MySQL на VPS, подключенном к ServerPilot, отмените все внесенные изменения в / etc / ssh / sshd_config (и перезапустите ssh).Вместо того, чтобы соединяться с настройками SSH в Navicat, вам нужно сначала установить SSH-туннель в PuTTY.

Установить специальный SSH-туннель в PuTTY : если первый шаг выше не работаетпопробуйте этот шаг вместо.Инструкции на сайте cs-wwu, которые вы цитировали для этого, не будут работать для MySQL в Ubuntu с ServerPilot (даже если он открывает соединение через терминал SSH, которое вы можете использовать для действий командной строки).Вместо этого вам нужно следовать подходу в комментарии от 6 августа 2004 года под https://dev.mysql.com/doc/refman/5.7/en/windows-and-ssh.html.Это дает основную идею.Здесь я подробно опишу весь процесс, шаг за шагом:

Чтобы подключить Navicat к MySQL на VSP ServerPilot Ubuntu, попробуйте следующие настройки в PuTTY:

1. На главном экране сеанса введите:

Имя хоста (или IP-адрес) : serverpilot@123.45.678.90 (укажите IP-адрес вашего VPS)

Порт : 22 * ​​1025 *

Сохраненные сеансы : введите имя, например ServerPilot-MySQL

2. На панели категорий вс левой стороны нажмите Соединение, SSH, Туннели

На экране Туннели введите:

Исходный порт : 4000 (это может быть любое число выше 1024, которое неуже используется на вашем компьютере Windows. Я использую 4000, потому что мой порт 3306 в настоящее время используется моим MySQL на моем локальном сервере WAMP в Windows).

Назначение : localhost: 3306

3. Нажмите кнопку «Добавить».Теперь в поле Forwarded Ports вы должны увидеть: L4000 localhost: 3306

4. Вернитесь в верхнюю часть панели категорий и нажмите Session.На экране сеанса нажмите кнопку «Сохранить».

5. Выделите только что сохраненные настройки в поле «Сохраненные сеансы» и нажмите кнопку «Загрузить».Затем нажмите «Открыть».

Теперь терминал PuTTY скажет: используя имя пользователя «serverpilot».пароль serverpilot@123.45.678.90:

6. Скопируйте свой пароль пользователя «serverpilot» и вставьте его в PuTTY, щелкнув правой кнопкой мыши по подсказке рядом с «паролем».

Теперь у вас есть правильный вид SSH-туннеля, открытый от PuTTY.Теперь используйте этот туннель для соединения с Navicat.

Соединитесь с Navicat :

Установите новое соединение.В окне «Свойства подключения» выполните следующие действия:

Вкладка «Общие» : на вкладке «Общие» введите:

Имя хоста / IP-адрес : localhost

Порт : 4000

Имя пользователя : ваш пользователь базы данных mysql назначен ServerPilot

Имя пользователя : ваш пароль базы данных mysql, назначенный ServerPilot

На вкладке «SSH» оставьте флажок снятым, чтобы Navicat не пытался отдельно подключиться через SSH.Он будет опираться на SSH-туннель PuTTY.

Вернитесь на вкладку Общие и нажмите «Проверить подключение».Это должно сказать, Соединение Успешно.Дайте мне знать, если это работает для вас.

...