ERROR 2002(HY000):无法通过socket' /var/lib/mysql/mysql.sock&#39连接到本地MySQL服务器; (13)Ubuntu

时间:2016-07-22 09:41:45

标签: php mysql sockets ubuntu

我已通过sudo service mysql status检查了mysql的状态,并获得以下输出:

 mysql.service - LSB: Start and stop the mysql database server daemon
   Loaded: loaded (/etc/init.d/mysql; bad; vendor preset: enabled)
   Active: active (exited) since Fri 2016-07-22 15:06:35 IST; 11s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 4946 ExecStart=/etc/init.d/mysql start (code=exited, status=0/SUCCESS

Jul 22 15:06:35 ubuntu-lenovo systemd[1]: Starting LSB: Start and stop the mysql
Jul 22 15:06:35 ubuntu-lenovo systemd[1]: Started LSB: Start and stop the mysql 

但是当我尝试通过终端运行它时说:

  

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

当我尝试与主机mysql --host 127.0.0.1 -uroot一起运行时,它会说:

  

ERROR 2003(HY000):无法在' 127.0.0.1'上连接到MySQL服务器(111)

我几乎尝试了所有解决方案。

3 个答案:

答案 0 :(得分:1)

只需检查 my.cnf (mysql配置文件)并从

更改
bind-address = 0.0.0.0

bind-address = 127.0.0.1

如果您没有该参数,只需添加它。

绑定到0.0.0.0让你的mysql在每个配置的IP上都可用,因为你不能只在服务器上的两个或三个IP上绑定,配置可以是:localhost或者所有。

然后检查/ etc / hosts文件并确保该行

127.0.0.1 localhost

接下来,重启你的mysql

service mysql restart

答案 1 :(得分:0)

  1. 使用$ php -i |grep php\.ini命令在系统中查找 php.ini 文件或使用此Link
  2. 查找
  3. 打开 php.ini 文件。
  4. 并确保这些行是否存在。

    a)extension=mysql.so b)extension=pdo_mysql.so

  5. 如果是,请在它们之前删除(;)。
  6. 如果不存在,请运行此命令sudo apt-get install php5-mysql
  7. 现在,输入php artisan migrate命令。我相信你会得到错误

      

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

    现在,

    • 将绑定地址从localhost更改为127.0.0.1
    • 运行/opt/lampp/bin/php
    • 运行后如果你
      

    “无法加载动态库”

    然后,删除php_mssql.dll extension(对于非Windows)

    • 如果没有收到错误,请直接转到 Project-Name-Folder / config / database.php 文件并添加此代码'unix_socket' => '/opt/lampp/var/mysql/mysql.sock'

    找到mysql.sock的完整路径,然后添加

    'mysql' => [
        'driver'    => 'mysql',
        'host'      => env('DB_HOST', 'localhost'),
        'database'  => env('DB_DATABASE', 'danishLara'),
        'username'  => env('DB_USERNAME', 'root'),
        'password'  => env('DB_PASSWORD', ''),
        'unix_socket'   => '/opt/lampp/var/mysql/mysql.sock', //Add this line here
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => '',
        'strict'    => false,
    ],
    

答案 2 :(得分:0)

这可能是在自制安装后发生的,有时是由于权限问题而发生的。以下命令解决了我计算机上的相同问题。

sudo chown -R _mysql:mysql /usr/local/var/mysql

sudo mysql.server start