我知道这应该更加集中,但我为此浪费了一整天的时间,而且我无法弄清楚。
我正在尝试使用任何可用的 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 垃圾并自动完成远程数据库中的所有表和字段。