简体   繁体   English

错误2002(HY000):无法通过Vagrant中的套接字'/var/run/mysqld/mysqld.sock'(2)连接到本地MySQL服务器

[英]ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) in Vagrant

I have a problem with my mysql-server in vagrant. 我在无业游民的mysql服务器有问题。 Everytime i restart my vagrant box with 每当我重新启动我的无业游民框
vagrant reload or vagrant up i get this confusing error. vagrant reloadvagrant up我得到这个令人困惑的错误。

My vagrant box is this one here: ubuntu/trusty64 from Vagrant-Boxes 我的流浪者盒子是这里的: Vagrant-Boxes的 ubuntu/trusty64

This error has been answered already several times here and at askubuntu. 此错误已在此处和Askubuntu中得到了多次回答。
but i want to know why only this code works for me: 但我想知道为什么只有此代码对我有用:

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

the code is from the file mysql* at /etc/init.d/mysql . 代码来自/etc/init.d/mysql mysql*文件。

can anyone explain what the code means? 谁能解释代码的含义?

all this answeres did not help me for explanation from here: 所有这些答案都没有帮助我从这里进行解释:

mysql ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) mysql错误2002(HY000):无法通过套接字'/var/run/mysqld/mysqld.sock'(2)连接到本地MySQL服务器
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' 错误2002(HY000):无法通过套接字'/var/run/mysqld/mysqld.sock'连接到本地MySQL服务器
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) 错误2002(HY000):无法通过套接字'/var/run/mysqld/mysqld.sock'(2)连接到本地MySQL服务器

这项工作对我来说:

  1. sudo service mysql stop
  2. sudo usermod -d /var/lib/mysql/ mysql
  3. sudo service mysql start

The error means the connection to the server failed, and the root cause is that the MySQL server is not running, most likely because it was not started. 该错误表示与服务器的连接失败,并且根本原因是MySQL服务器未运行,很可能是因为它没有启动。

You need to make sure the machine startup scripts do start MySQL , in the proper order (the server before clients connections to it), and be sure to wait for the startup to actually complete. 您需要确保计算机启动脚本确实以正确的顺序(客户端连接到服务器之前)启动了MySQL ,并确保等待启动真正完成。

The following script 以下脚本

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

does start the MySQL server. 确实启动了MySQL服务器。

What it does is: 它的作用是:

  1. Log in as the mysql user ( su - mysql ) 以mysql用户身份登录( su - mysql
  2. Execute a shell ( -s /bin/sh ) 执行一个shell( -s /bin/sh
  3. Execute a command in this shell ( -c ) 在此shell( -c )中执行命令
  4. The command itself is /usr/bin/mysqld_safe > /dev/null 2>&1 & 该命令本身为/usr/bin/mysqld_safe > /dev/null 2>&1 &

This command: 该命令:

  1. Starts a MySQL server ( /usr/bin/mysqld_safe ) 启动一个MySQL服务器( /usr/bin/mysqld_safe
  2. Redirect the standard output to nowhere ( > /dev/null ) 将标准输出重定向到无处( > /dev/null
  3. Redirect the standard error to nowhere as well ( 2>&1 ) 也将标准错误重定向到任何地方( 2>&1
  4. And execute the command in the background ( & ) 并在后台执行命令( &

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 mysql ERROR 2002 (HY000): 无法通过 socket '/var/run/mysqld/mysqld.sock' 连接到本地 MySQL 服务器 (2) - mysql ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) ERROR 2002(HY000):无法通过套接字'/var/run/mysqld/mysqld.sock'连接到本地MySQL服务器(111) - ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111) 错误 2002 (HY000):无法通过套接字“/var/run/mysqld/mysqld.sock”连接到本地 MySQL 服务器 - ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' 错误 2002 (HY000): 无法通过套接字'/var/run/mysqld/mysqld.sock' (2) 连接到本地 MySQL 服务器 - ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) 错误2002(HY000):无法通过套接字'/var/run/mysqld/mysqld.sock'(2)连接到本地MySQL服务器 - ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) occured PDOException SQLSTATE HY000 2002无法通过套接字'/var/run/mysqld/mysqld.sock'连接到本地MySQL服务器(2) - PDOException SQLSTATE HY000 2002 Can't connect to local MySQL server through socket ' /var/run/mysqld/mysqld.sock' (2) PDOException:SQLSTATE [HY000] [2002]无法通过套接字'/var/run/mysqld/mysqld.sock'连接到本地MySQL服务器(2) - PDOException: SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) SQLSTATE [HY000] [2002]无法通过套接字'/var/run/mysqld/mysqld.sock'连接到本地MySQL服务器(2) - SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) 重新启动后无法连接到MySQL服务器:错误2002(HY000):无法通过套接字'/var/run/mysqld/mysqld.sock'(2)连接到本地MySQL服务器 - Cannot connect to MySQL Server after reboot: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) 重新发送mysql密码结果:错误2002(HY000):无法通过套接字'/var/run/mysqld/mysqld.sock'连接到本地MySQL服务器(2) - Resenting mysql password results: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM