2

运行此命令“ php artisan migrate”时,出现此错误“ couldn't connect to local MYSQL server through socket”。 在此处输入图像描述

我正在查看所有 stackoverflow 答案,我收到很多建议说“将绑定地址:localhost 更改为 127.0.0.1”。

我输入了这个命令' find / -name my.cnf'并得到了'my.cnf'文件的两个位置。

  • /opt/lampp/etc/my.cnf
  • /etc/mysql/my.cnf

我很困惑..我要编辑哪个文件。哪一个是正确的路径?

而且,在我的“my.cnf”文件中,没有“绑定地址”。如果我手动编写,那么在 my.cnf 文件中哪里写“绑定地址”?或者,我可以在该文件中写入的任何地方。?

这是“my.cnf”文件

# The following options will be passed to all MySQL clients
[client]
#password   = your_password
port        = 3306
socket      = /opt/lampp/var/mysql/mysql.sock

# Here follows entries for some specific programs

# The MySQL server
[mysqld]
user = mysql
port=3306
socket      = /opt/lampp/var/mysql/mysql.sock
skip-external-locking
key_buffer = 16M
max_allowed_packet = 1M
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M

# Where do all the plugins live
plugin_dir = /opt/lampp/lib/mysql/plugin/

请帮我。

4

2 回答 2

1

我在"Project-Folder-Name/config/database.php". 而且,它奏效了。添加'unix_socket' => '/opt/lampp/var/mysql/mysql.sock',

'mysql' => [
            'driver'    => 'mysql',
            'host'      => env('DB_HOST', 'localhost'),
            'database'  => env('DB_DATABASE', 'DatabaseName'),
            'username'  => env('DB_USERNAME', 'root'),
            'password'  => env('DB_PASSWORD', ''),
        'unix_socket'   => '/opt/lampp/var/mysql/mysql.sock', //Your sock got from above
            'charset'   => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix'    => '',
            'strict'    => false,
        ],
于 2015-09-07T15:09:07.493 回答
0

验证您的 mysql 服务正在运行..尝试

mysql service start or mysql service restart

或者您可以查看此处给出的一些建议Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

于 2015-09-07T12:31:19.767 回答