Django 无法链接mysql数据库

Django 无法链接mysql数据库

自己写的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

代码编译和渲染层错误