错误2002(HY000):Can';t通过套接字连接到本地MySQL服务器'/var/run/mysqld/mysql.sock';(2)

错误2002(HY000):Can';t通过套接字连接到本地MySQL服务器'/var/run/mysqld/mysql.sock';(2),mysql,ubuntu,Mysql,Ubuntu,我犯了这个错误 ERROR 2002(HY000):无法通过套接字'/var/run/mysqld/MySQL.sock'(2)连接到本地MySQL服务器 尽管我已经在ubuntu中通过命令行启动了mysql mysql stop/waiting mysql start/running, process 17691 然而,当试图访问该站点时,我会遇到一个数据库连接错误,当试图通过mysql-u root-p 我检查了我的错误日志,我看到了这个 131029 12:53:34 [War

我犯了这个错误

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


尽管我已经在ubuntu中通过命令行启动了mysql

mysql stop/waiting
mysql start/running, process 17691
然而,当试图访问该站点时,我会遇到一个数据库连接错误,当试图通过
mysql-u root-p

我检查了我的错误日志,我看到了这个

    131029 12:53:34 [Warning] Using unique option prefix myisam-recover instead of myisam-recover-options is deprecated and will be remo$
    131029 12:53:34 [Note] Plugin 'FEDERATED' is disabled.
    131029 12:53:34 InnoDB: The InnoDB memory heap is disabled
    131029 12:53:34 InnoDB: Mutexes and rw_locks use GCC atomic builtins
    131029 12:53:34 InnoDB: Compressed tables use zlib 1.2.3.4
    131029 12:53:34 InnoDB: Initializing buffer pool, size = 26.0G
    131029 12:53:36 InnoDB: Completed initialization of buffer pool
    131029 12:53:36 InnoDB: highest supported file format is Barracuda.
    131029 12:53:38  InnoDB: Waiting for the background threads to start
    131029 12:53:39 InnoDB: 5.5.34 started; log sequence number 5146431500
    131029 12:53:39 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306
    131029 12:53:39 [Note]   - '0.0.0.0' resolves to '0.0.0.0';
    131029 12:53:39 [Note] Server socket created on IP: '0.0.0.0'.
    131029 12:53:39 [Note] Event Scheduler: Loaded 0 events
    131029 12:53:39 [Note] /usr/sbin/mysqld: ready for connections.
    Version: '5.5.34-0ubuntu0.12.04.1-log'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  (Ubuntu)
这是我第一次看到这个错误,我不知道如何解决这个问题,请帮我解决一下

谢谢

更新

好的,我尝试了GLGL的解决方案,重新启动后,我在错误日志中得到以下信息:

    131029 13:17:36 [Warning] Using unique option prefix myisam-recover instead of myisam-recover-options is deprecated and will be remo$
    131029 13:17:36 [Note] Plugin 'FEDERATED' is disabled.
    131029 13:17:36 InnoDB: The InnoDB memory heap is disabled
    131029 13:17:36 InnoDB: Mutexes and rw_locks use GCC atomic builtins
    131029 13:17:36 InnoDB: Compressed tables use zlib 1.2.3.4
    131029 13:17:36 InnoDB: Initializing buffer pool, size = 26.0G
    131029 13:17:38 InnoDB: Completed initialization of buffer pool
    131029 13:17:38 InnoDB: highest supported file format is Barracuda.
    131029 13:17:40  InnoDB: Waiting for the background threads to start
    131029 13:17:41 InnoDB: 5.5.34 started; log sequence number 5146431500
    131029 13:17:41 [Note] Server hostname (bind-address): '127.0.0.1'; port: 3306
    131029 13:17:41 [Note]   - '127.0.0.1' resolves to '127.0.0.1';
    131029 13:17:41 [Note] Server socket created on IP: '127.0.0.1'.  
    131029 13:17:41 [Note] Event Scheduler: Loaded 0 events
    131029 13:17:41 [Note] /usr/sbin/mysqld: ready for connections.
    Version: '5.5.34-0ubuntu0.12.04.1-log'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  (Ubuntu)

如果你仔细观察,你会发现区别:

  • 服务器侦听
    /var/run/mysqld/mysqld.sock
  • 客户端尝试连接到
    /var/run/mysqld/mysql.sock

您必须调整其中一个。

我在系统上安装xampp时也遇到了同样的问题。mysql服务器查找/var/run/mysqld/mysqld.sock,但mysql.sock文件位于xampp文件夹中,所以我使用了

 find / -name '*.sock'
查找mysql.sock文件,然后使用

ln -s <the file location> /var/run/mysqld/mysqld.sock
ln-s/var/run/mysqld/mysqld.sock
要获取*.sock文件的链接,请尝试mysql,它运行时没有错误。 希望这能解决你的问题


如果目录不存在,记得创建它

通过检查进程是否在Ubuntu 12.04上运行,我的问题得到了解决

ps ax | grep mysql
然后答案是它没有运行,所以我运行了

sudo service mysql start
或尝试

sudo /etc/init.d/mysql start

客户端设置应与服务器设置一致

[client]
port        = 3306
socket      = /var/run/mysqld/mysqld.sock

[mysqld]
user        = mysql
pid-file    = /var/run/mysqld/mysqld.pid
socket      = /var/run/mysqld/mysqld.sock
port        = 3306

在修改了我的.cnf后,我也遇到了同样的问题。我下一步解决了这个问题

首先:要找到error.log的位置,请查看“my.conf”

第二:我查了error.log,找到了下一个消息

“未知变量‘默认-……’” ..... “使用from/var/lib/mysql安全启动mysqld darmon”

第三:我将my.conf重置为默认值,然后重新启动,这个问题就解决了

我希望这有帮助。

我也遇到了这个问题。
mysql-u root-p
输入密码:
ERROR 2002(HY000):无法通过套接字'/var/lib/MySQL/MySQL.sock'(111)连接到本地MySQL服务器。


然后我发现原因是我的
selinux
正在执行,我禁用了它,然后重新启动
mysqld
,它工作了,希望有用。

我已经关注了惠灵顿洛林多的帖子。 我的问题解决了

步骤 1.运行终端

ps ax | grep mysql

结果为

11200?Ssl 0:01/usr/sbin/mysqld

11514分/0秒+0:00格雷普mysql

步骤 2.再打一次

sudo服务mysql启动

问题解决了


谢谢惠灵顿洛林多

如果您修改
my.cnf
文件中的
max\u connections
,您还有一次机会遇到此特定错误

我也遇到了同样的错误,没有让我登录到MySQL服务器。在我的例子中,问题是,我必须增加中的
max\u connections
大小

/etc/mysql/my.cnf

由于这个原因,第二天当我启动MySQL服务器时,它抛出了这个错误

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
my.conf
文件中删除
set变量=max\u connections=5000
段就成功了。删除该特定段后,使用命令。MySQL服务器像以前一样启动并运行

sudo /etc/init.d/mysql start
两个主要原因:

1) mysql服务器未安装!您必须安装它(mysql服务器而不是mysql客户端)并运行它

2) 它默认安装并正在运行。所以,不可能通过Xampp或Lampp再次运行它。你必须停止它: sudo服务mysql停止

然后您可以通过Xampp启动它。 可以使用以下代码检查它是否正在运行: sudo netstat-tap | grep mysql

如果您看到这样的结果: tcp 0 0本地主机:mysql:LISTEN 1043/mysqld


这意味着它运行正常

您可能缺少mysql服务器。使用

sudo apt-get install mysql-server

确保/etc/中my.cnf文件中的绑定地址配置选项与本地主机或虚拟服务ip地址相同。
加上检查,以确保创建套接字文件的目录已正确指定。

最近,我在mysql中遇到了这个错误
错误2002(HY000)

无法通过套接字连接到本地MySQL服务器

“/var/lib/mysql/mysql.sock”(111)

因为我忘了开始我的工作。 只需在您的终端上键入此命令

systemctl start mariadb.service

如果问题与您有关,这将提供另一种解决方案。如果磁盘驱动器已满,MYSQL服务器(以及大多数其他程序)将无法启动。删除文件和文件夹以允许Mysql服务器启动。

我的系统也出现了相同的错误。我不得不删除mysql服务器并重新安装它。而不是相反。尝试运行以下命令,以确保其正常工作:

  • sudo-apt-get-purge-mysql服务器
  • sudo易于自动删除
  • sudoapt安装mysql服务器
  • 简单: 运行以下代码:::

     1:: ls -lart/var/run/my*
    
       2::mkdir /var/run/mysqld
    
        3::touch /var/run/mysqld/mysqld.sock
        4:ls -lart /var/run/mysqld
        5::chown -R mysql /var/run/mysqld
        6::ls -lart /var/run/mysqld
    REstart your mysql server
    

    最后键入mysql-uroot或mysql-uroot-p并按enter键。谢谢

    在我的例子中,问题是我在my.cnf中添加了“default character set=utf8”,这会损坏文件。而是将该行改为“character\u set\u server=utf8”。这应该可以解决问题,希望这有帮助。

    首先,请确认安装了mysql服务器。我有同样的错误,当mysql服务器安装,但损坏不知何故。我完全卸载mysql并重新安装

    sudo apt-get remove --purge mysql*
    sudo apt-get autoremove
    sudo apt-get autoclean
    sudo apt-get install mysql-server mysql-client
    

    请注意,我在升级Ubuntu 14.04发行版后遇到了这个问题<
    sudo apt-get remove --purge mysql*
    sudo apt-get autoremove
    sudo apt-get autoclean
    sudo apt-get install mysql-server mysql-client
    
    sudo apt-get autoremove
    sudo apt-get autoclean
    sudo apt-get purge mysql-server mysql-client
    sudo apt-get install mysql-server mysql-client
    
    sudo /etc/init.d/mysql start
    
    sudo service mysql start
    
    sudo apt-get update
    sudo apt-get upgrade
    
    sudo apt-get purge mysql-server mysql-client
    
    sudo apt-get install mysql-server mysql-client
    
    mysql -u root -p
    > enter root password
    
    bind-address            = localhost
    
    sudo /etc/init.d/mysql restart
    
    mysql -u root -p
    > enter root password
    
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 4
    Server version: 5.7.13-0ubuntu0.16.04.2 (Ubuntu)
    
    Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective owners.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    mysql>
    
    chown -R mysql:mysql .
    
    sudo apt-get autoremove mysql-server
    
    sudo apt-get remove mysql-
    
    mysql-client           mysql-client-core-5.7  mysql-server           mysql-server-core-5.7  mysql-workbench        mythes-en-us           
    mysql-client-5.7       mysql-common           mysql-server-5.7       mysql-utilities        mysql-workbench-data   
    
    sudo apt-get remove mysql-server-core-5.7
    
    sudo apt-get remove --purge mysql*
    sudo apt-get autoremove
    sudo apt-get autoclean
    sudo apt-get install mysql-server mysql-client
    
    vim /etc/mysql/my.cnf 
    
    sudo apt-get remove --purge mysql*
    
    sudo apt-get autoremove
    
    sudo apt-get autoclean
    
    sudo apt-get install mysql-server mysql-client
    
      sudo dpkg -l | grep mysql
    
      sudo apt-get --purge autoremove <package name>
    
      sudo apt-get install mysql-server
    
    sudo apt-get remove --purge mysql-\
    
    sudo apt-get install mysql-server mysql-client
    
    sudo dpkg-reconfigure mysql-server-{version_number}
    
    sudo dpkg-reconfigure mysql-server-5.6
    
    mysql -u root -p