我在 Amazon EC2 上使用 Django Bitnami Stack。我尝试同步数据库以进行初始设置,但遇到了问题。
运行以下命令时我收到一条错误消息:
Python manage.py syncdb
“无法通过套接字‘/tmp/mysql.sock’连接到本地 MySQL 服务器 (2)”
我理解这是因为无法与 MySQL 服务器建立连接。但是当我从命令行运行此命令时,我可以连接:
Mysql –u root –p // "Then entering my password”
以下是settings.py中的数据库设置:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'djangostack',
'HOST': 'localhost',
'PORT': '3306',
'USER': 'root',
'PASSWORD': 'bitnami'
}
}
我尝试使用重新启动 MySQL 服务器sudo service mysqld restart
但是收到一条消息指出 mysql 是一个无法识别的服务。
这是my.cnf文件:
[mysqladmin]
user=root
[mysqld]
basedir=/opt/bitnami/mysql
datadir=/opt/bitnami/mysql/data
port=3306
socket=/opt/bitnami/mysql/tmp/mysql.sock
tmpdir=/opt/bitnami/mysql/tmp
bind-address=127.0.0.1
[mysqld_safe]
mysqld=mysqld.bin
[client]
port=3306
socket=/opt/bitnami/mysql/tmp/mysql.sock
[manager]
port=3306
socket=/opt/bitnami/mysql/tmp/mysql.sock
pid-file=/opt/bitnami/mysql/tmp/manager.pid
default-mysqld-path=/opt/bitnami/mysql/bin/mysqld.bin
!include /opt/bitnami/mysql/bitnami/my.cnf
答案1
连接到主机127.0.0.1
而不是localhost
。localhost
对于基于 Unix 的操作系统上的 MySQL 具有特殊含义。