我在流浪汉中遇到了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*
处的/etc/init.d/mysql
文件。
任何人都可以解释代码的含义吗?
所有这些回复不帮助我从这里解释:
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)
答案 0 :(得分:2)
这对我有用:
sudo service mysql stop
sudo usermod -d /var/lib/mysql/ mysql
sudo service mysql start
答案 1 :(得分:1)
错误表示与服务器的连接失败,根本原因是MySQL
服务器未运行,很可能是因为它未启动。
您需要确保机器启动脚本以正确的顺序(客户端连接到它之前的服务器)启动MySQL
,并确保等待启动实际完成。
以下脚本
su - mysql -s /bin/sh -c "/usr/bin/mysqld_safe > /dev/null 2>&1 &"
启动MySQL服务器。
它的作用是:
su - mysql
)-s /bin/sh
)-c
)/usr/bin/mysqld_safe > /dev/null 2>&1 &
此命令:
/usr/bin/mysqld_safe
)> /dev/null
)2>&1
)&
)