提问人:Hack-R 提问时间:3/10/2016 最后编辑:Victor OlexHack-R 更新时间:9/28/2016 访问量:220
基于 SSH 的 MySQL 的 SlashDB 连接字符串
SlashDB connection string for MySQL over SSH
问:
我正在尝试让我的 SlashDB REST API 查询 MySQL 数据库,它必须通过 SSH 连接到该数据库。
连接字符串不成功,我不能说我很惊讶,因为 SlashDB 在其模板中有一个数据库用户名和密码的位置,但没有 SSH / OS 用户名和密码的选项。
如何调整此示例字符串以包含必要且足够的详细信息?
8.8.8.8:3306/somename
这与以下 JSON 相关联(请注意,您不能直接编辑 JSON):
{
"db_encoding": "utf-8",
"owners": [
"admin",
"user",
"root"
],
"execute": [
"admin",
"user",
"root"
],
"creator": "admin",
"read": [
"admin",
"user",
"root"
],
"db_type": "mysql",
"autoload": true,
"write": [
"admin",
"user",
"root"
],
"connect_status": "Disconnected",
"connection": "8.8.8.8:3306/somename",
"sysuser": {
"dbuser": "user",
"dbpass": "pw"
},
"db_schema": "somename",
"offline": true,
"alternate_key": {},
"desc": "blah blah blah"
}
由于您可以直接编辑连接字符串,因此我尝试了前置,但没有帮助。user@
答:
1赞
Victor Olex
6/14/2016
#1
SlashDB 没有内置与 MySQL 的 SSH 连接。但是,有一个解决方法。
建立从 SlashDB 主机到数据库主机的 SSH 隧道。在此示例中,我们使用本地端口 3307。
ssh -f [电子邮件保护] -L 3307:mysql1.example.com:3306 -N
在 GUI 中配置连接字符串,如下所示:
- 数据库主机:localhost
- 数据库端口:3307
- 其他参数同前
Смотритетакже: 通过SSH隧道的MySQL连接 - 如何指定其他MySQL服务器?
话虽如此,通常避免将 MySQL 服务器公开但允许公共 REST API 的模式是将 SlashDB 安装在与数据库相同的子网中。然后在防火墙中为 SlashDB 主机打开端口 80 和 443。这也确保了 SlashDB 到 MySQL 连接的最大性能。
评论