1. 将一个完美工作的laravel项目从git变成了运行MAMP的mac.该项目在linux机器上运行良好.
  2. composer安装
  3. php artisan migrate出现以下错误:

    [PDOException]                                    
    SQLSTATE[HY000] [2002] No such file or directory 
    

注意:

    'mysql' => array(
        'driver'    => 'mysql',
        'host'      => 'localhost',
        'database'  => 'essays',
        'username'  => 'root',
        'password'  => 'root',
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => '',
    ),

我try 用127.0.0.1替换localhost,但没有成功.请帮忙..

Edit:

mysql.default_socket = /var/run/mysqld/mysqld.sock

mysqli.default_socket = /var/run/mysqld/mysqld.sock

pdo_mysql.default_socket = /var/run/mysqld/mysqld.sock

我还添加了这个符号链接:

sudo mkdir /var/mysql
cd /var/mysql && sudo ln -s /Applications/XAMPP/xamppfiles/var/mysql/mysql.sock

但这并没有解决问题.我还从git中提取了一个新的laravel项目,并在composer安装然后php artisan migrate之后遇到了相同的错误

 [PDOException]                                    
  SQLSTATE[HY000] [2002] No such file or directory 

mac版本是10.7.4

推荐答案

如果您使用的是MAMP,请确保将unix_socket键与mysql.sock所在的MAMP路径的值相加.

'mysql' => array(
        'driver'    => 'mysql',
        'host'      => 'localhost',
        'unix_socket'   => '/Applications/MAMP/tmp/mysql/mysql.sock',
        'database'  => 'database',
        'username'  => 'root',
        'password'  => 'root',
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => '',
    ),

Mysql相关问答推荐

是否可以在一个查询中将字符串附加到许多匹配的行

具有别名主机的 ssh 反向 mysql tunel

如何通过未知列中的唯一值有效地更新 MySQL 行

显示值为空的所有列名

mysql从另一个表中选择不相等的值

如何使用nodejs从mysql数据库中获取最新的10条记录?

结果差异(MySQL 5.7 vs MySQL 8.0)

MYSQL_ROOT_PASSWORD 已设置但在 docker 容器中获取“用户'root'@'localhost'的访问被拒绝(使用密码:YES)”

服务器返回无效的时区.转到高级选项卡并手动设置 servertimezone 属性

如何检索 MySQL 数据库管理系统 (DBMS) 的当前版本?

LEFT JOIN 仅第一行

MYSQL OR 与 IN 性能

MySQL 8.0 - 客户端不支持服务器请求的认证协议;考虑升级 MySQL 客户端

ProgrammingError: 在一个线程中创建的 SQLite 对象只能在同一个线程中使用

MySql.Data.MySqlClient.MySqlException:“主机 localhost 不支持 SSL 连接.”

使用 Docker 我收到错误:“SQLSTATE[HY000] [2002] 没有这样的文件或目录”

使用 mysql 处理非常大的数据

加入与子查询

将数据从 MySQL 数据库导入到 Pandas 数据框中,包括列名

错误 1067 (42000):“created_at”的默认值无效