流浪汉中的mysql-server有问题 . 每次我重启我的流浪盒vagrant reload
或 vagrant 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 回答
该错误意味着与服务器的连接失败,根本原因是
MySQL
服务器未运行,很可能是因为它未启动 .您需要确保机器启动脚本以正确的顺序(客户端连接到它之前的服务器)启动
MySQL
,并确保等待启动实际完成 .以下脚本
确实启动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
)并在后台执行命令(
&
)