鱼C论坛

 找回密码
 立即注册
查看: 2200|回复: 4

[已解决]linux下django连接外部的wampserver的mysql数据库连接被拒绝

[复制链接]
发表于 2023-4-22 12:32:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
报错:

django.db.utils.OperationalError: (2003, "Can't connect to MySQL server on '127.0.0.1' ([Errno 111] Connection refused)")

但是我setting.py上的数据库设定没有错,在pycharm自带的数据库控制台连接wampserver的数据库没有问题,在linux下执行数据迁移就报以上错误,我猜可能是和linux本机里面安装的mysql混淆了,又把wampserver的mysql数据库端口从默认的3306改成3308,然后还是不行,实在没办法了,求大佬搭救
最佳答案
2023-4-22 14:19:39
您好!根据您所提供的信息,这里有一些建议供您参考:

1. 请确保您的 WampServer 上的 MySQL 服务器已经启动,您可以在 WampServer 的图标菜单中查看状态。
2. 根据您所提供的报错信息,您的 Django 项目似乎试图连接到本地的 MySQL 服务器('127.0.0.1')。请确保您的 `settings.py` 文件中的 `DATABASES` 配置是指向您 WampServer MySQL 服务器的 IP 地址和端口(例如:`192.168.0.100:3308`),而非 `127.0.0.1:3306`。
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'your_db_name',
        'USER': 'your_db_user',
        'PASSWORD': 'your_db_password',
        'HOST': 'your_wampserver_ip', # WampServer的MySQL服务器IP地址
        'PORT': '3308',               # 您修改后的MySQL端口号
    }
}

3. 在尝试连接 WampServer 上的 MySQL 之前,请确保防火墙允许您的 Linux 机器访问 WampServer MySQL 服务器的 IP 地址和端口。根据您所使用的防火墙工具,您需要放行相应的 IP 地址和端口。
4. 在 WampServer 上的 MySQL 配置文件 `my.ini` 中,确保有一行配置指令 `bind-address = 0.0.0.0`。这将允许外部 IP 地址连接到您的 MySQL 服务器。然后重启您的 MySQL 服务。

希望以上建议能够帮助您解决问题。如有其他疑问,请随时提问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-4-22 12:33:04 | 显示全部楼层
本帖最后由 sfqxx 于 2023-4-22 12:38 编辑

这个错误通常表示 Django 无法连接到 MySQL 数据库。有几种可能的原因导致这个错误:

MySQL 服务器未运行或无法访问。请确保 MySQL 服务器正在运行,并且您可以从 Linux 终端连接到它。

MySQL 命令行工具版本不兼容。请检查您在 Linux 上使用的 MySQL 命令行工具的版本是否与您在 Windows 上使用的版本匹配。

防火墙设置。如果您运行的是防火墙,则必须配置以允许对 MySQL 服务器的访问。

数据库密码错误。请确保您在 Linux 上使用的密码与您在 Windows 上使用的密码相同。解决此问题的步骤如下:

确认您在 Linux 上使用的 MySQL 版本与您在 Windows 上使用的 MySQL 版本相同。

检查您的防火墙设置并确保允许对 MySQL 服务器的访问。

确认您在 Linux 上使用的密码与您在 Windows 上使用的密码相同。

尝试使用 MySQL 命令行工具连接到 MySQL 服务器。如果您无法连接,请查看 MySQL 的日志,查找关于连接尝试的错误信息。

如果您使用的是远程 MySQL 服务器,请确保您已正确配置主机名或 IP 地址、端口号和连接凭据。

希望以上信息能对您有所帮助。
有用请设置最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-22 12:55:01 | 显示全部楼层


根据您提供的信息,可能有以下几种原因导致连接被拒绝:

1. 确认wampserver的mysql服务是否已经启动。您可以在命令行输入以下命令检查:

   netstat -an | grep 3308
   

   如果没有输出结果,说明mysql服务未启动,您需要先启动服务。

2. 检查wampserver的mysql服务是否绑定在127.0.0.1上。您可以在wampserver的mysql配置文件my.ini中查找bind-address,确保它被设置为127.0.0.1。如果它被设置为0.0.0.0或外部IP地址,那么您将无法从本地连接mysql服务。

3. 检查防火墙是否阻止了连接。您可以通过暂时禁用防火墙或添加一个允许通过3308端口连接的规则来解决此问题。

4. 确认您的Django应用程序的数据库设置是否正确。您可以在settings.py文件中检查DATABASES字典的值。确保HOST被设置为127.0.0.1,而不是localhost。您还可以尝试使用您的MySQL用户名和密码连接到数据库,以确保它们有效。

希望这些提示可以帮助您解决连接被拒绝的问题。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-22 14:08:31 | 显示全部楼层
这个错误可能是因为Django无法连接到MySQL服务器导致的。可能有以下几种原因:

MySQL服务器没有运行或端口被占用。您可以尝试在Linux上检查MySQL服务器是否正在运行并且监听正确的端口。您可以使用以下命令来检查:
netstat -tlnp | grep 3306

如果MySQL服务器正在运行并监听3306端口,则会显示一条类似于以下内容的输出:
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 1234/mysqld


如果端口号不是3306,而是3308,则您需要相应地更改连接字符串中的端口号。

防火墙设置阻止了MySQL服务器的连接。您可以检查Linux上的防火墙设置是否阻止了MySQL服务器的连接。您可以暂时禁用防火墙并重新尝试连接以查看是否有改善。

您的Django设置文件中的数据库设置可能有误。请确保您在Django设置文件中正确配置了MySQL服务器的主机名、端口号、用户名、密码以及数据库名称等信息。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-22 14:19:39 | 显示全部楼层    本楼为最佳答案   
您好!根据您所提供的信息,这里有一些建议供您参考:

1. 请确保您的 WampServer 上的 MySQL 服务器已经启动,您可以在 WampServer 的图标菜单中查看状态。
2. 根据您所提供的报错信息,您的 Django 项目似乎试图连接到本地的 MySQL 服务器('127.0.0.1')。请确保您的 `settings.py` 文件中的 `DATABASES` 配置是指向您 WampServer MySQL 服务器的 IP 地址和端口(例如:`192.168.0.100:3308`),而非 `127.0.0.1:3306`。
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'your_db_name',
        'USER': 'your_db_user',
        'PASSWORD': 'your_db_password',
        'HOST': 'your_wampserver_ip', # WampServer的MySQL服务器IP地址
        'PORT': '3308',               # 您修改后的MySQL端口号
    }
}

3. 在尝试连接 WampServer 上的 MySQL 之前,请确保防火墙允许您的 Linux 机器访问 WampServer MySQL 服务器的 IP 地址和端口。根据您所使用的防火墙工具,您需要放行相应的 IP 地址和端口。
4. 在 WampServer 上的 MySQL 配置文件 `my.ini` 中,确保有一行配置指令 `bind-address = 0.0.0.0`。这将允许外部 IP 地址连接到您的 MySQL 服务器。然后重启您的 MySQL 服务。

希望以上建议能够帮助您解决问题。如有其他疑问,请随时提问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-23 15:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表