Python Django通过ssh连接阿里云轻量应用服务器上的数据库

阿里云轻量应用服务器上的数据库如果不用ssh连接会出现以下报错的情况:

MySQLdb._exceptions.OperationalError: (1045, "Access denied for user 'root'@'localhost' (using password: YES)")

所以尝试用ssh连接,方法如下:

1.在Django的settings.py中输入:
from sshtunnel import SSHTunnelForwarder
# 0.通过SSH连接云服务器
server = SSHTunnelForwarder(
    ssh_address_or_host=('', ),                #第一个参数在引号内填写轻量应用服务器的ip地址,第二参数是ssh的端口号
    ssh_username='',                           #轻量应用服务器的用户名
    ssh_password='',                           #轻量应用服务器的密码
    remote_bind_address=('localhost', 3306)    #此处第一个参数是localhost,第二个为数据库的端口号
)
server.start()                                 #启动


2.在settings.py中的DATABASES中设置:
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',#改成mysql
        'NAME': '',                          #数据库名称
        'USER': '',                          #数据库的用户名称
        'PASSWORD': '',                      #数据库密码
        'HOST': '127.0.0.1',                 #这里只能填写这个IP地址
        'PORT': server.local_bind_port,      #这里只能填写这个,server是指上面ssh连接的服务器
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值