mac php sqlstate[hy000] [2003],Mac 提示 SQLSTATE[HY000][2000] No such file or directory

Mysql下有时候会出现mysql.sock位置错误,导致无法链接数据库。

这里介绍的无法连接数据库问题也是这个导致。

发生后的环境:yii2 执行  php artisan migrate

提示 SQLSTATE[HY000][2000] No such file or directory (如下图)

8b70ab382081

检查 mysql.sock 文件路径位置是否设置正确,执行下面命令:

ps aux |grep-i mysql

输出:

_mysql24020.01.22855160 103848??Ss9:17下午0:01.42 /usr/local/mysql/bin/mysqld --user=_mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --log-error=/usr/local/mysql/data/mysqld.local.err --pid-file=/usr/local/mysql/data/mysqld.local.pid

仔细看输出,并没有mysql.sock文件的位置,先不用管,用另一个方法。

首先修改my.cnf

位置在/etc/my.cnf下,假如没有的话,去/usr/locate/mysql版本/my.cnf下修改,然后复制到/etc下。

编辑复制过来的my.cny

修改为如下:(没有[client]的话,自己添加~)

[client]

socket = /tmp/mysql.sock

[mysqld]

socket = /tmp/mysql.sock

然后修改php.ini(位置为/etc/php.ini)没有的话,copy一个php.ini.default

执行命令复制一个php.ini:sudo cp /private/etc/php.ini.default  /private/etc/php.ini

修改里面的这三处:

pdo_mysql.default_socket=/tmp/mysql.sock

mysql.default_socket = /tmp/mysql.sock

mysqli.default_socket = /tmp/mysql.sock

保存退出,然后再执行:php artisan migrate

成功了,如图:

8b70ab382081

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值