2016-11-04 68 views
0

我有我的mysql服务器在流浪汉的问题。每次我重新启动我的流浪盒
vagrant reloadvagrant up我得到这个混乱的错误。

我这里的流浪箱是这里的:ubuntu/trusty64 from Vagrant-Boxes

这个错误已经在这里和askubuntu已经有好几次了。
但我想知道为什么只此代码的工作对我来说:错误2002(HY000):无法通过套接字'/var/run/mysqld/mysqld.sock'(2)连接到本地MySQL服务器在流浪者

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

的代码是从/etc/init.d/mysql文件mysql*

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

这一切answeres没有帮我解释从这里:

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,并确保等待启动实际完成。

以下脚本

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

并启动MySQL服务器。

它的作用是:

  1. 登录作为MySQL用户(su - mysql
  2. 执行一个壳(-s /bin/sh
  3. 在该壳(-c
  4. 的命令执行一个命令本身是/usr/bin/mysqld_safe > /dev/null 2>&1 &

此命令:

  1. 启动MySQL服务器(/usr/bin/mysqld_safe
  2. 重定向标准输出到无处(> /dev/null
  3. 重定向标准误差无处以及(2>&1
  4. 并在后台执行该命令( &
+0

但是,如果我通常启动我的网络服务器,我仍然需要从上面删除脚本......我的流浪盒会出现什么问题吗? – Blueblazer172

相关问题