阿里云轻量应用服务器上的数据库如果不用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连接的服务器
}
}
Python Django通过ssh连接阿里云轻量应用服务器上的数据库
最新推荐文章于 2022-05-14 09:54:55 发布