我已通过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)
我几乎尝试了所有解决方案。
答案 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)
$ php -i |grep php\.ini
命令在系统中查找 php.ini 文件或使用此Link 并确保这些行是否存在。
a)extension=mysql.so
b)extension=pdo_mysql.so
sudo apt-get install php5-mysql
现在,输入php artisan migrate
命令。我相信你会得到错误
无法通过套接字连接到本地MYSQL服务器
现在,
localhost
更改为127.0.0.1
/opt/lampp/bin/php
。 “无法加载动态库”
然后,删除php_mssql.dll extension
(对于非Windows)
'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