繁体   English   中英

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

[英]ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (13) Ubuntu

我已经通过sudo service mysql status检查了 mysql 的sudo service mysql status并得到以下输出:

 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): 无法通过 socket '/var/lib/mysql/mysql.sock' (13) 连接到本地 MySQL 服务器

当我尝试使用主机即mysql --host 127.0.0.1 -uroot运行时,它说:

错误 2003 (HY000):无法连接到“127.0.0.1”上的 MySQL 服务器 (111)

我已经尝试了几乎所有来自 SO 的解决方案。

只需检查您的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. 使用$ php -i |grep php\\.ini命令或使用此链接查找系统中的php.ini文件
  2. 打开php.ini文件。
  3. 并且,确保这些行是否存在。

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

  4. 如果是,删除 (;) 在他们之前。
  5. 如果不存在,请运行此命令sudo apt-get install php5-mysql

现在,输入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,
],

这可能发生在自制软件安装之后,有时由于权限问题而发生。 以下命令在我的电脑上修复了同样的问题。

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

sudo mysql.server start

暂无
暂无

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

相关问题 Magento错误:SQLSTATE [HY000] [2002]无法通过套接字'/var/lib/mysql/mysql.sock'连接到本地MySQL服务器 err_connection_timed_out 和 PHP 警告:mysqli_connect():(HY000/2002):Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' Mac Terminal / MySQL配置问题| 错误2002(HY000):无法通过套接字'/tmp/mysql.sock'连接到本地MySQL服务器(2) 尝试了所有事情仍然得到 ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in mac SQLSTATE [HY000] [2002]无法通过套接字'/var/run/mysqld/mysqld.sock'连接到本地MySQL服务器(2) 如何修复'ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2 "No such file or directory")' MySQL ERROR 2002 (HY000): 无法通过套接字连接到本地 MySQL 服务器 无法连接:无法通过套接字“ /var/lib/mysql/mysql.sock”连接到本地MySQL服务器(2) Laravel:SQLSTATE [HY000] [2002]无法通过套接字'/var/run/mysqld/mysqld.sock'连接到本地MySQL服务器(2“没有这样的文件或目录”) DOCKER + PDO:SQLSTATE [HY000] [2002]无法通过套接字'/var/run/mysqld/mysqld.sock'连接到本地MySQL服务器(2)
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM