所以,我有一个运行项目,它使用带有MAMP本地服务器的MySQL数据库,但是出于合规性问题,我需要更改数据库名称 . 所以我在MAMP中更改了它,我在settings.py中更改了它,如下所示:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
'NAME': 'prototipodb', # Or path to database file if using sqlite3.
'USER': 'palapa', # Not used with sqlite3.
'PASSWORD': 'palapa', # Not used with sqlite3.
'HOST': '/Applications/MAMP/tmp/mysql/mysql.sock', # Set to empty string for localhost. Not used with sqlite3.
'PORT': '3306', # Set to empty string for default. Not used with sqlite3.
}
}
我认为通过这些更改,一切都会顺利运行,但我的服务器上出现以下错误:
线程中未处理的异常由> Traceback(最近一次调用最后一次)启动:文件“/Users/palapa2/projects/prototipo_tesis/venv/lib/python2.7/site-packages/django/core/management/commands/runserver.py “,第91行,在inner_run self.validate(display_num_errors = True)文件”/Users/palapa2/projects/prototipo_tesis/venv/lib/python2.7/site-packages/django/core/management/base.py“,line 266,在validate num_errors = get_validation_errors(s,app)文件“/Users/palapa2/projects/prototipo_tesis/venv/lib/python2.7/site-packages/django/core/management/validation.py”,第103行, get_validation_errors connection.validation.validate_field(e,opts,f)文件“/Users/palapa2/projects/prototipo_tesis/venv/lib/python2.7/site-packages/django/db/backends/mysql/validation.py”,line 14,在validate_field中db_version = self.connection.get_server_version()文件“/Users/palapa2/projects/prototipo_tesis/venv/lib/python2.7/site-packages/django/db/backends/mysql/base.py”,line 415,在get_server_version self.cursor中() . close()文件“/Users/palapa2/projects/prototipo_tesis/venv/lib/python2.7/site-packages/django/db/backends/init.py”,第306行,在游标光标中= self.make_debug_cursor (self._cursor())文件“/Users/palapa2/projects/prototipo_tesis/venv/lib/python2.7/site-packages/django/db/backends/mysql/base.py”,第387行,在_cursor self中 . connection = Database.connect(** kwargs)文件“build / bdist.macosx-10.9-intel / egg / MySQLdb / init.py”,第81行,在Connect File中“build / bdist.macosx-10.9-intel / egg / MySQLdb / connections.py“,第193行,在init _mysql_exceptions.OperationalError:(1049,”未知数据库'prototipodb'“)
如果你能解决这个问题,我将不胜感激 . 我一直在考虑的事情之一是运行 syncbd
命令来重建连接,但如果有更好的解决方案,我很乐意考虑它 .
1 回答
我只是在我的Mac上做了这个,它工作正常 . 我复制了数据库并更改了
settings.py
中的名称 . 然后我让我的用户访问新的数据库您是否授予用户
palapa
访问新数据库的权限?你有特权吗?
你重启Django服务器了吗?