我知道這應該更集中,但我為此浪費了一整天的時間,而且我無法弄清楚。
我正在嘗試使用任何可用的 VS Code 擴充功能連接到遠端 MySQL 資料庫。
我嘗試將 SQLTools 與 MySQL/MariaDB 外掛程式、ApexSQL Database Power Tools for VS Code、vscode-database 結合使用。
我已閱讀所有文件並在此處和 else-ware 中搜尋範例。我發現的只是連接到本地主機資料庫。
我只是不會列出我嘗試過的所有組合,因為我覺得我已經嘗試了所有組合。使用所有可能的登入方法。
我使用幾種方法遇到的最大問題是當我輸入遠端伺服器位址和使用者名稱時。此使用者名稱始終傳輸至: username@'93-138-183-84.adsl.net.t-com.hr'
其中粗略的 93-138-183-84.adsl.net.t-com.hr 是我目前的 IP 位址。
我收到以下錯誤:
Error connecting to server: Access denied for user 'xxx'@'93-138-183-84.adsl.net.t-com.hr' (using password: YES)
我嘗試使用字串和範例設置,例如:
Server=xxx;Port=3306;Database=xxx;Uid=xxx;Pwd=xxx; { "name": "MySQL", "server": "my server adress", "driver": "MySQL", "port": 3306, "database": "xxx", "username": "xxx", "askForPassword": false, "password": "xxx", "connectionTimeout": 15, "mysqlOptions": { ... // options See section 2. mysqlOptions } }
沒有什麼對我有用
PS;我檢查了資料庫中的伺服器位址、使用者和端口,所以我認為我的憑證沒有錯誤。我嘗試使用特定資料庫和整個伺服器的 root 使用者。是否有可能從 VS code 連接到遠端 MySQL 資料庫來執行查詢(如果可以,使用什麼以及如何運行?)
我也遇到了同樣的問題,最後解決了。設定您的 mysql 使用者在主機欄位中使用通配符。預設情況下,當您在 mysql 中設定新使用者時,該使用者的「host」欄位會設定為「localhhost」。當您嘗試從 VSC 連接到遠端 mysql 伺服器時,它會傳送字串“使用者名稱”@“主機”,其中“主機”是您用於連接的電腦的 IP 位址。我按如下方式設定了 mysql 用戶,然後連接工作正常:
建立由「密碼」標識的使用者「sammy」@「192.168.0.%」;
這將允許使用者 sammy 從 IP 位址指定的網路內的任何位置存取 mysql,在本例中是我的內部網路。您可以只使用“%”並省略 IP,以便使用者可以從任何地方存取。
一切都在這裡:https://dev. mysql.com/doc/refman/5.7/en/create-user.html
一整天之後終於:
使用 macOS:
我已經將 SSH 金鑰新增到系統中,所以我只需要打開隧道,很簡單,只需一行,解釋如下: 如何使用SSH隧道連接MySQL資料庫
ssh -p 722 -N -L 3306:localhost:3306 使用者@伺服器名稱
下一步在 VS 程式碼中(使用 SQLTools 和 MySQL/MariaDB 外掛程式):
使用
127.0.0.1
作為伺服器位址並輸入您的資料庫憑證。就是這樣。
現在,您可以在 VS-Code 中自動完成 SQL 方法、SQL 垃圾並自動完成遠端資料庫中的所有資料表和欄位。