自己写的python 脚本可以连接上数据库,
pymysql.connect(host = host, user = username, password=pwd, database = database_name)
但是启动Django 整个服务的时候就无法链接上了
/root/.local/lib/python3.6/site-packages/paramiko/transport.py:169: CryptographyDeprecationWarning: Blowfish has been deprecated
'class': algorithms.Blowfish,
System check identified no issues (0 silenced).
Unhandled exception in thread started by .wrapper at 0x7fcf8f215e18>
Traceback (most recent call last):
File "/root/.local/lib/python3.6/site-packages/pymysql/connections.py", line 614, in connect
(self.host, self.port), self.connect_timeout, **kwargs
File "/usr/local/python3/lib/python3.6/socket.py", line 724, in create_connection
raise err
File "/usr/local/python3/lib/python3.6/socket.py", line 713, in create_connection
sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
django.db.utils.OperationalError: (2003, "Can't connect to MySQL server on 'xx.db.com' ([Errno 111] Connection refused)")
python3.6, 和3.7都报一样的错
解决方法
1、看下你settings.py
的数据库账号密码是否正确,大小写拼音等,
如果有拼写错误,注意修改
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'db_demo',
'USER': 'root',
'PASSWORD': '12345',
'HOST': '127.0.0.1',
'PORT': '3306'
}
}
2、看下你的Python版本、Django版本和对应的第三方数据库对应的版本是否正常
如果版本不匹配,注意修改。
如有问题及时沟通
你的settings文件内容是什么?用户名和密码可以打码处理。
Django上写的链接字符串和自己脚本的链接串一一致吗
这篇文章:Django数据库MySQL的操作 也许能够解决你的问题,你可以看下可以下载看看这个,爬虫 机器学习 文件自动化迁移 django连接mysql
https://download.csdn.net/download/qq_44515800/72290747
代码编译和渲染层错误