背景:在Django中创建表结构,执行如下指令的时候遇到了题目所述的问题,查阅资料以后解决了该问题,在此做下记录。
python manage.py migrate
报错中描述的是没有找到名字为 runoob的数据库,这里提供两种可能的解决思路。
-
Django项目配置文件中的数据库名称与mysql中的数据库名称不对应。
-
查看自己项目同名文件夹下的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
-
然后再次执行应该就可以正确运行了
-
-
-
还有另外一种可能是对应的端口被其他应用占用了,可以采用以下方法来查看对应端口是否被占用
-
使用win+r打开命令行
-
然后执行以下命令来查看3306端口是否被占用
netstat -aon|findstr "3306"
-
显示出的列表中最后一列是占用3306端口对应的应用程序的PID
-
然后打开任务管理器
-
查看“详细信息”那一行,其中找到上面PID对应的应用程序。如果可以的话,可以在任务管理器关闭对应应用程序
-