我在 Django 中使用 MySQL,一切正常。
这是我的 Django 数据库配置——</p>
DATABASES['default'] = {
'ENGINE': 'django.db.backends.mysql',
'USER': 'putty',
'PASSWORD': 'putty',
'HOST': '127.0.0.1',
'NAME': 'putty',
}
下面是我在 MySQL 中运行以创建数据库和用户的内容——</p>
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 说——</p>
OperationalError: (1049, "Unknown database 'putty'")
如果我这样更改我的 Django 数据库配置——</p>
'HOST': 'localhost',
它工作正常(但是,这是不可行的,因为它不适用于我们的生产 MySQL)。
如何强制 MariaDB 使用 127.0.0.1 的主机?
我尝试删除用户并使用 127.0.0.1 的主机重新创建它,但 MariaDB 不允许我这样做。
更新
以身份登录putty@127.0.0.1
——</p>
mysql -u putty -h 127.0.0.1 -p
SHOW DATABASES;
我只能看到一个数据库 ( information_schema
)。
但是,正如putty@localhost
我所看到的那样。诡异的。
更新
即使以 身份登录root@127.0.0.1
,我也无法创建数据库。
当我设置时,--protocol=TCP
我得到了同样的结果;但是--protocol=SOCKET
一切正常。