Ubuntu

MySQL 無法通過 SSH 隧道連接——連接被拒絕

  • May 8, 2019

我正在嘗試使用 SSH 隧道從我的 MySQL GUI(如果重要的話是 Sequel Pro)連接到 MySQL。但是,我不斷收到以下錯誤(mysql.log):

$$ Note $$Aborted connection 98 to db: ’example’ user: ’example_user’ host: ’localhost’ (讀取通信數據包時出錯)

我的連接設置如下所示:

  • SSH 主機:example.com
  • SSH 埠:22
  • SSH 使用者:example_user
  • SSH 通行證:********
  • 數據庫主機:127.0.0.1
  • 數據庫使用者:example_user
  • 數據庫密碼:********
  • 數據庫名稱:範例
  • 數據庫埠:3306

我可以毫無問題地連接到 SSH。我還可以從 SSH 內部連接到 MySQL(使用mysql -u example_user -p -h 127.0.0.1

但是,隧道不起作用。我有AllowTcpForwarding yessshd_config。MySQL 配置有bind-address = 127.0.0.1.

我在我的伺服器中使用 16.04 LTS 和 MySQL Community Edition。

我究竟做錯了什麼?這是我第一次看到這個問題。

例如,您可以通過工作站上的命令創建多個隧道:

ssh -L 10080:127.0.0.1:80 -L 10006:127.0.0.1:3306 user@server

有:127.0.0.1- ip-address 隧道從伺服器連接的目標,803306目標埠,10080以及10006- 本地工作站的埠。這將允許您通過伺服器的 localhost 介面連接到 MySql 伺服器和 Http 伺服器。在工作站上執行命令mysql -p -u db_user -P 10006 -h 127.0.0.1 database_name以連接到 MySql 伺服器。您可以連接到 PhpMyAdmin Web 界面,該界面僅允許從 127.0.0.1 訪問。為此,只需http://127.0.0.1:10080在瀏覽器中寫入地址。

引用自:https://serverfault.com/questions/839268