Mysql链接失败 提示Operation now in progress [ 2.0 版本 ]
无论我的mysql的配置写的什么,只要写的是IP地址就链接不上 提示 SQLSTATE[HY000] [2002] Operation now in progress
就像这样:
'db' => [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=127.0.0.1;dbname=test',
'username' => 'root',
'password' => '',
'charset' => 'utf8',
],
但是当我把数据库的配置文件改成域名访问,这样:
'db' => [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=test',
'username' => 'root',
'password' => '',
'charset' => 'utf8',
],
就可以访问了。
在命令行下,是可以通过 mysql -h127.0.0.1 -uroot 来访问的。而且之前的项目也会报这个错误,之前运行也是没问题的。
zhangyuCUMT 补充于 2017-06-21 17:09
这个是因为什么原因呢?今天执行了一个耗时的mysql任务,难道是因为这个?
最佳答案
-
127.0.0.1和localhost的区别我记得127.0.0.1使用TCP/IP连接,localhost使用Unix socket,是不是这的问题
共 1 条回复zhangyuCUMT 回复于 2017-06-22 14:51 回复应该是这个原因,我之前修改了 php.ini 中的 default_socket_timeout=-1 现在把这个值设置成default_socket_timeout=60 的默认值,然后重启 php-fpm 问题就解决了,程序就能正确运行了。
我查了一下,当主机填写为localhost时mysql会采用 unix domain socket连接,当主机填写为127.0.0.1时mysql会采用tcp方式连接。
但还是不明白为什么会报这个错误
其他 3 个回答
zhangyuCUMT
注册时间:2016-04-29
最后登录:2017-09-29
在线时长:2小时10分
最后登录:2017-09-29
在线时长:2小时10分
- 粉丝0
- 金钱55
- 威望0
- 积分75