所以,我有一个运行项目,它使用带有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(最近一次调用最后一次): 在inner_run中输入文件“/Users/palapa2/projects/prototipo_tesis/venv/lib/python2.7/site-packages/django/core/management/commands/runserver.py”,第91行 self.validate(display_num_errors =真) 文件“/Users/palapa2/projects/prototipo_tesis/venv/lib/python2.7/site-packages/django/core/management/base.py”,第266行,在验证中 num_errors = get_validation_errors(s,app) 在get_validation_errors中输入文件“/Users/palapa2/projects/prototipo_tesis/venv/lib/python2.7/site-packages/django/core/management/validation.py”,第103行 connection.validation.validate_field(e,opts,f) 在validate_field中输入文件“/Users/palapa2/projects/prototipo_tesis/venv/lib/python2.7/site-packages/django/db/backends/mysql/validation.py”,第14行 db_version = self.connection.get_server_version() get_server_version中的文件“/Users/palapa2/projects/prototipo_tesis/venv/lib/python2.7/site-packages/django/db/backends/mysql/base.py”,第415行 self.cursor()。close()方法 文件“/Users/palapa2/projects/prototipo_tesis/venv/lib/python2.7/site-packages/django/db/backends/init.py”,第306行,在游标中 cursor = self.make_debug_cursor(self._cursor()) 在_cursor中输入文件“/Users/palapa2/projects/prototipo_tesis/venv/lib/python2.7/site-packages/django/db/backends/mysql/base.py”,第387行 self.connection = Database.connect(** kwargs) 在Connect中输入文件“build / bdist.macosx-10.9-intel / egg / MySQLdb / init .py”,第81行 在 init 中输入文件“build / bdist.macosx-10.9-intel / egg / MySQLdb / connections.py”,第193行 _mysql_exceptions.OperationalError:(1049,“未知数据库'prototipodb'”)
如果你能解决这个问题,我将不胜感激。我一直在考虑的事情之一是运行syncbd
命令来重建连接,但如果有更好的解决方案,我很乐意考虑它。
答案 0 :(得分:1)
我刚刚在我的Mac上做了这个,它运行正常。我复制了数据库并更改了settings.py
中的名称。然后我让我的用户访问新的数据库。
您是否授予用户palapa
访问新数据库的权限?
你是否有特权?
你重启了Django服务器吗?