我可以使用带有host
、user
、password
的ssh隧道访问远程MySQL数据库。
我可以使用带有SSH Hostname
、SSH Username
、SSH Password
的ssh隧道访问MySQL Workbench中的数据库。
此外,我还可以使用带有Host
、User name
、Password
的ssh隧道访问Pycharm。
我正在尝试将Django连接到MySQL数据库。是否可以将SSH设置添加到Django设置文件中的这些数据库设置中,并通过Django进行访问?
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': '<DATABASE NAME>',
'USER': '<USER NAME>',
'PASSWORD': '<PASSWORD>',
'HOST': '<HOST>',
'PORT': '3306'
}
}
我认为您可以通过集成sshtunnel
包来实现这一点。
如果您可以完全控制数据库连接的时间,那么您可以将SSHTunnelForwarder包装器放在SQL代码周围,您在其中使用语句执行的任何SQL代码都可以连接到数据库,但该语句之外的代码则无法连接。因此,当您使用Django时,这也没有帮助,因为它的MySQL代码隐藏在Django库的深处,用with语句包装它将非常棘手。