MySQL通过SSH隧道连接

时间:2018-04-25 20:44:30

标签: mysql linux ubuntu ssh-tunnel

我尝试使用ssh隧道连接远程服务器以访问数据库。

总结一下情况:

1-当我启动操作系统时, Mysql服务正在启动。我可以访问本地数据库。 我也可以使用以下命令连接到远程服务器:     sudo service mysql stop 连接后,提示更改,我可以连接并浏览服务器上的数据库。 一切都很好!!

2-所以我想创建一个SSH隧道来从本地端口3306访问远程数据库

我正在执行以下步骤:

  • 停止Mysql服务ssh -i /Path_To_Key -L 3306:127.0.0.1:3306 user@IP_Server -f -N
  • 在端口3306 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."

当我尝试启动Mysql时,出现错误消息:

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

以下是命令的结果

systemctl status mysql.service

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

journalctl -xe

{{1}}

你明白这是什么问题吗?

1 个答案:

答案 0 :(得分:0)

您是否在运行MySQL的盒子上启动SSH连接?

如果是,您正在阻止端口3306,因此MySQL无法启动。

在这种情况下,您的SSH命令应该是-R而不是-L:

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

如果我的猜测不正确,请说明您制作命令的系统以及您希望通过ssh隧道连接到MySQL数据库的位置。