首页 文章

ERROR 2002(HY000):在Vagrant中可以't connect to local MySQL server through socket ' /var/run/mysqld/mysqld.sock'(2)

提问于
浏览
0

流浪汉中的mysql-server有问题 . 每次我重启我的流浪盒
vagrant reloadvagrant up 我得到了这个令人困惑的错误 .

我的流浪盒就在这里: ubuntu/trusty64 来自Vagrant-Boxes

这个错误已在这里和askubuntu多次回答 .
但我想知道为什么只有这个代码适合我:

su - mysql -s /bin/sh -c "/usr/bin/mysqld_safe > /dev/null 2>&1 &"

代码来自文件 mysql* at /etc/init.d/mysql .

任何人都可以解释代码的含义吗?

所有这些回复 not 从这里帮助我解释:

mysql ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

1 回答

  • 1

    该错误意味着与服务器的连接失败,根本原因是 MySQL 服务器未运行,很可能是因为它未启动 .

    您需要确保机器启动脚本以正确的顺序(客户端连接到它之前的服务器)启动 MySQL ,并确保等待启动实际完成 .

    以下脚本

    su - mysql -s /bin/sh -c "/usr/bin/mysqld_safe > /dev/null 2>&1 &"
    

    确实启动MySQL服务器 .

    它的作用是:

    • 以mysql用户身份登录( su - mysql

    • 执行shell( -s /bin/sh

    • 在此shell中执行命令( -c

    • 命令本身是 /usr/bin/mysqld_safe > /dev/null 2>&1 &

    这个命令:

    • 启动MySQL服务器( /usr/bin/mysqld_safe

    • 将标准输出重定向到无处( > /dev/null

    • 将标准错误重定向到无处( 2>&1

    • 并在后台执行命令( &

相关问题