【发布时间】:2013-07-23 16:47:36
【问题描述】:
我在 Django 中使用 MySQL,一切正常。
这是我的 Django 数据库配置——
DATABASES['default'] = {
'ENGINE': 'django.db.backends.mysql',
'USER': 'putty',
'PASSWORD': 'putty',
'HOST': '127.0.0.1',
'NAME': 'putty',
}
这是我在 MySQL 中运行以创建数据库和用户的内容——
CREATE DATABASE putty CHARACTER SET = 'utf8';
CREATE USER 'putty'@'localhost' IDENTIFIED BY 'putty';
GRANT ALL PRIVILEGES ON putty.* TO 'putty'@'localhost' WITH GRANT OPTION;
但是,当我安装 MariaDB、擦除我的 MySQL 数据目录并尝试上述操作时,我无法再连接到我的数据库。
Django 说——
OperationalError: (1049, "Unknown database 'putty'")
如果我改变我的 Django 数据库配置——
'HOST': 'localhost',
它工作正常(但是,这是不可行的,因为它不适用于我们的生产 MySQL)。
如何强制 MariaDB 使用 127.0.0.1 的主机?
我尝试删除用户并使用 127.0.0.1 的主机重新创建它,但 MariaDB 不允许。
更新
以putty@127.0.0.1 登录—
mysql -u putty -h 127.0.0.1 -p
SHOW DATABASES;
我只能看到一个数据库 (information_schema)。
但是,作为putty@localhost,我可以看到它们。很奇怪。
更新
即使以root@127.0.0.1 登录,我也无法创建数据库。
当我设置--protocol=TCP 时,我得到了同样的结果;但是--protocol=SOCKET 一切正常。
【问题讨论】: