当前位置: 代码迷 >> 综合 >> django.db.utils.OperationalError: (1049, “Unknown database ‘runoob‘“)
  详细解决方案

django.db.utils.OperationalError: (1049, “Unknown database ‘runoob‘“)

热度:26   发布时间:2024-03-09 01:29:15.0

背景:在Django中创建表结构,执行如下指令的时候遇到了题目所述的问题,查阅资料以后解决了该问题,在此做下记录。

python manage.py migrate

报错中描述的是没有找到名字为 runoob的数据库,这里提供两种可能的解决思路。

  1. Django项目配置文件中的数据库名称与mysql中的数据库名称不对应。

    1. 查看自己项目同名文件夹下的setting.py文件中的如下所示的‘NAME’属性

      DATABASES = {'default':{'ENGINE': 'django.db.backends.mysql',    # 数据库引擎'NAME': 'runoob',  # 数据库名称'HOST': '127.0.0.1',  # 数据库地址,'PORT': 3306,  # 端口'USER': 'root',  # 数据库用户名'PASSWORD': '*****',  # 数据库密码}
      }
      

      2.查看自己的mysql数据库中是否有对应名称的数据库

      具体做法如下:

      • 使用win+r打开命令行

      • 输入以下命令

        mysql -u root -p
        
      • 然后会提示输入数据库root账户的密码

      • 然后执行以下指令可以查看自己mysql中已有的数据库

        show databases
        
      • 如果显示出的列表中没有对应名称的数据库,那么就执行以下命令创建对应数据库

        CREATE DATABASE runoob
        
      • 然后再次执行应该就可以正确运行了

  2. 还有另外一种可能是对应的端口被其他应用占用了,可以采用以下方法来查看对应端口是否被占用

    • 使用win+r打开命令行

    • 然后执行以下命令来查看3306端口是否被占用

      netstat -aon|findstr "3306"
      
    • 显示出的列表中最后一列是占用3306端口对应的应用程序的PID

    • 然后打开任务管理器

    • 查看“详细信息”那一行,其中找到上面PID对应的应用程序。如果可以的话,可以在任务管理器关闭对应应用程序

  相关解决方案