MySQL соединение через SSH Tunnel

0

Я пытался подключиться на удаленном сервере с туннелем ssh для доступа к базе данных.

Подводя итог ситуации:

1- Когда я запускаю ОС, запускается служба Mysql. Я могу получить доступ к локальной базе данных. Я также могу подключиться к удаленному серверу с помощью команды: ssh -i/Path_To_Key user@IP_Server После подключения изменится запрос, и я могу подключиться и просмотреть базу данных на сервере. Все отлично работает!

2- Итак, я хочу создать туннель SSH для доступа к удаленной базе данных из локального порта 3306

Я делаю следующие шаги:

  • Остановить службу Mysql sudo service mysql stop
  • Создайте туннель на порту 3306 ssh -i/Path_To_Key -L 3306:127.0.0.1:3306 user@IP_Server -f -N
  • Запуск службы Mysql sudo service mysql start

Когда я пытаюсь запустить Mysql, у меня есть сообщение об ошибке:

Job for mysql.service failed because the control process exited with error code. See "systemctl status mysql.service" and "journalctl -xe" for details."

Вот результаты команды

Статус systemctl mysql.service

mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
Active: activating (start-post) (Result: exit-code) since mer. 2018-04-25 21:50:15 CEST; 5s ago
Process: 3771 ExecStart=/usr/sbin/mysqld (code=exited, status=1/FAILURE)
Process: 3764 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
Main PID: 3771 (code=exited, status=1/FAILURE);         : 3772 (mysql-systemd-s)
   CGroup: /system.slice/mysql.service
           control
             3772 /bin/bash /usr/share/mysql/mysql-systemd-start post
             3810 sleep 1

journalctl -xe

Subject: L'unité (unit) mysql.service a commencé à démarrer
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- L'unité (unit) mysql.service a commencé à démarrer.
avril 25 21:54:49 Aspire-A515 audit[4686]: AVC apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/4686/status" pid=4686 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=121 ouid=121
avril 25 21:54:49 Aspire-A515 audit[4686]: AVC apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/sys/devices/system/node/" pid=4686 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=121 ouid=0
avril 25 21:54:49 Aspire-A515 audit[4686]: AVC apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/4686/status" pid=4686 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=121 ouid=121
avril 25 21:54:49 Aspire-A515 kernel: audit: type=1400 audit(1524686089.710:65): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/4686/status" pid=4686 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=121 ouid=121
avril 25 21:54:49 Aspire-A515 kernel: audit: type=1400 audit(1524686089.710:66): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/sys/devices/system/node/" pid=4686 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=121 ouid=0
avril 25 21:54:49 Aspire-A515 kernel: audit: type=1400 audit(1524686089.710:67): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/4686/status" pid=4686 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=121 ouid=121

Вы понимаете, в чем проблема?

Теги:
ssh-tunnel

1 ответ

0

Вы начинаете соединение SSH в окне, где работает MySQL?

Если да, вы блокируете порт 3306, поэтому MySQL больше не может запускаться.

В этом случае ваша команда SSH должна быть с -R, а не с -L:

ssh -i /Path_To_Key -R 3306:127.0.0.1:3306 user@IP_Server -f -N

Если моя догадка неверна, уточните, в какой системе вы выполняете команды и откуда вы хотите подключиться к MySQL-базе данных через туннель ssh.

  • 0
    Спасибо! MySQL больше не блокируется. К сожалению, когда я пытаюсь подключиться с помощью команды: mysql -u root -p pass, у меня появляется доступ к локальной базе данных. С туннелем я думал, что смогу получить доступ к удаленной базе данных на сервере. Я сделал это легко с замазкой на окнах, но я не могу сделать это на Linux ...
  • 0
    Хорошо, это не проблема: измените ваш туннель, например: ssh -i / Path_To_Key -R 3306: 127.0.0.1: 3333 user @ IP_Server -f -N и затем подключитесь с помощью mysql --host = 127.0.0.1 --port = 3333 mysql -u root -p

Ещё вопросы

Сообщество Overcoder
Наверх
Меню