Подключение к MySQL на Serverpilot через SSH & amp; Navicat

Кто-нибудь использовал 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

Решение

Во-первых, как упоминалось в 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 на ServerPilot Ubuntu VSP, попробуйте следующие настройки в PuTTY:

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

Имя хоста (или IP-адрес): [email protected] (укажите IP-адрес вашего VPS)

порт: 22

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

2. В левой части панели категорий выберите Соединение, SSH, Туннели.

На экране Tunnels поместите это:

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

Место назначения: localhost: 3306

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

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

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

Теперь терминал PuTTY скажет:
Используя имя пользователя «serverpilot».
[email protected] пароль:

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

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

Связаться с Navicat:

Создайте новое соединение. В Свойствах Соединения сделайте это:

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

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

порт: 4000

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

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

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

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

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]