Python 操作错误:(2002,“Can';t通过socket';/var/run/mysqld/mysqld.sock';连接到本地MySQL服务器;”
在Django中连接mysql数据库时,我得到了错误Python 操作错误:(2002,“Can';t通过socket';/var/run/mysqld/mysqld.sock';连接到本地MySQL服务器;”,python,mysql,django,mysql.sock,Python,Mysql,Django,Mysql.sock,在Django中连接mysql数据库时,我得到了错误 我确信mysql服务器正在运行 /var/run/mysqld/mysqld.sock不存在 当我运行$find/-name*.sock-type s时,我只得到/tmp/mysql.sock和一些其他不相关的输出 我在/etc/my.cnf中添加了socket=/tmp/mysql.sock。然后重新启动mysql,退出django shell,并连接到mysql数据库。我还是犯了同样的错误 我找了很多,但我还是不知道怎么做 任何帮助都是巨
$find/-name*.sock-type s
时,我只得到/tmp/mysql.sock和一些其他不相关的输出socket=/tmp/mysql.sock
。然后重新启动mysql,退出django shell,并连接到mysql数据库。我还是犯了同样的错误socket=/tmp/mysql.sock
。重新启动mysql服务器ln-s/tmp/mysql.sock/var/lib/mysqld/mysqld.sock
socket=/var/mysqld/mysqld.sock
添加到my.cnf中的[mysqld][client]块中,并使用它来工作。使用“127.0.0.1”,而不是“localhost”
在烧瓶里,你可以用它
app=Flask(名称)
app.config[“MYSQL\u HOST”]=“127.0.0.1
app.config[“MYSQL\u USER”]=“root”
..对我来说,这很有效
使用read_default_文件添加OPTIONS属性,并为其指定my.cnf文件的路径
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'dbname',
'USER': 'root',
'PASSWORD': '',
'HOST': 'localhost',
'PORT': '3306',
'OPTIONS': {
'read_default_file': '/opt/lampp/etc/my.cnf',
}
}
}
在使用Docker连接MySQL和Django时,我遇到了这个问题 请尝试“端口”:“0.0.0.0”
不要使用
'PORT':'db'
。如果您试图在Docker外部运行您的应用程序,这将不起作用。您可以使用以下命令在本地连接到MySQL服务器吗?(类似于:MySQL-u you\u user\u name-p
)你的数据库设置是什么?我可以使用mysql-u user\u name-p连接到mysql服务器。我将数据库设置为django Recomended你可以直接设置socket=/var/run/mysqld/mysqld.sock
吗?这样你就不必手动将/tmp/mysql.sock
链接到该路径。这可能会造成错误的任何想法的重复ny差异?在大多数情况下,localhost不是与127.0.0.1相同吗?
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'dbname',
'USER': 'root',
'PASSWORD': '',
'HOST': 'localhost',
'PORT': '3306',
'OPTIONS': {
'read_default_file': '/opt/lampp/etc/my.cnf',
}
}
}