将 Visual Studio 代码连接到远程 Mysql 数据库
Connecting Visual Studio Code to remote Mysql database
我知道这应该更专注,但我在这上面浪费了一整天,我想不通。
我正在尝试使用任何可用的 VS 代码扩展连接到远程 MySQL 数据库。
我尝试使用 SQLTools with MySQL/MariaDB plugin, 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 代码连接到远程 MySQL 数据库到 运行 查询,如果是,使用什么以及如何?
所以在一整天之后终于:
使用 macOS:
我已经将 SSH 密钥添加到系统中,所以我只需要打开隧道,只需一行即可简单,说明如下:
How to connect to a MySQL database using an SSH Tunnel
ssh -p 722 -N -L 3306:localhost:3306 user@servername
- 使用您的端口和 C-panel 登录。
接下来在 VS 代码中(用 SQLTools with MySQL/MariaDB plugin 测试):
使用 127.0.0.1
作为服务器地址并输入您的数据库凭据。
就是这样。
现在你有自动完成 SQL 方法,SQL 垃圾和自动完成来自 VS-Code.
中远程数据库的所有表和字段
我遇到了同样的问题,终于弄明白了。将您的 mysql 用户设置为在主机字段中使用通配符。默认情况下,当您在 mysql 中设置新用户时,用户“主机”字段设置为 'localhhost'。当您尝试从 VSC 连接到远程 mysql 服务器时,它会发送字符串 'username'@'host',其中 'host' 是您用于连接的计算机的 IP 地址。我按如下方式设置了一个 mysql 用户,然后连接正常:
创建用户 'sammy'@'192.168.0.%' 由 'password';
识别
这将允许用户 sammy 从 IP 地址指定的网络内的任何地方访问 mysql,在本例中是我的内部网络。您可以只使用“%”并省略 ip,以便用户可以从任何地方访问。
这里没问题:https://dev.mysql.com/doc/refman/5.7/en/create-user.html
我知道这应该更专注,但我在这上面浪费了一整天,我想不通。
我正在尝试使用任何可用的 VS 代码扩展连接到远程 MySQL 数据库。
我尝试使用 SQLTools with MySQL/MariaDB plugin, 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 代码连接到远程 MySQL 数据库到 运行 查询,如果是,使用什么以及如何?
所以在一整天之后终于:
使用 macOS:
我已经将 SSH 密钥添加到系统中,所以我只需要打开隧道,只需一行即可简单,说明如下: How to connect to a MySQL database using an SSH Tunnel
ssh -p 722 -N -L 3306:localhost:3306 user@servername
- 使用您的端口和 C-panel 登录。
接下来在 VS 代码中(用 SQLTools with MySQL/MariaDB plugin 测试):
使用 127.0.0.1
作为服务器地址并输入您的数据库凭据。
就是这样。
现在你有自动完成 SQL 方法,SQL 垃圾和自动完成来自 VS-Code.
中远程数据库的所有表和字段我遇到了同样的问题,终于弄明白了。将您的 mysql 用户设置为在主机字段中使用通配符。默认情况下,当您在 mysql 中设置新用户时,用户“主机”字段设置为 'localhhost'。当您尝试从 VSC 连接到远程 mysql 服务器时,它会发送字符串 'username'@'host',其中 'host' 是您用于连接的计算机的 IP 地址。我按如下方式设置了一个 mysql 用户,然后连接正常:
创建用户 'sammy'@'192.168.0.%' 由 'password';
识别这将允许用户 sammy 从 IP 地址指定的网络内的任何地方访问 mysql,在本例中是我的内部网络。您可以只使用“%”并省略 ip,以便用户可以从任何地方访问。
这里没问题:https://dev.mysql.com/doc/refman/5.7/en/create-user.html