Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 操作错误:(2002,“Can';t通过socket';/var/run/mysqld/mysqld.sock';连接到本地MySQL服务器;”_Python_Mysql_Django_Mysql.sock - Fatal编程技术网

Python 操作错误:(2002,“Can';t通过socket';/var/run/mysqld/mysqld.sock';连接到本地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数据库。我还是犯了同样的错误 我找了很多,但我还是不知道怎么做 任何帮助都是巨

在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数据库。我还是犯了同样的错误

  • 我找了很多,但我还是不知道怎么做

    任何帮助都是巨大的。提前谢谢

    嗯,我只是尝试了一些方法。它是有效的。 我是这样做的

  • 添加
    socket=/tmp/mysql.sock
    。重新启动mysql服务器
  • ln-s/tmp/mysql.sock/var/lib/mysqld/mysqld.sock
  • 我今天遇到了另一个问题。我无法登录mysql。 我是mysql的新手。所以我猜mysql服务器和客户端使用相同的套接字进行通信。 我将
    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',
            }
        }
    }