摘要:先给出结论此尚未找出解决方案,但我已使用了曲线救国的方案来救命背景用了阿里云市场中提供的镜像用为的话,连接时就会走的方式而非的方式。而修改的话,依然报上述的错,也就是设置无效。备注用的话,记得在的配置文件中把给注释掉,否则会报以下这错
先给出结论mysqli_connect(): (HY000/2002): Can"t connect to local MySQL server through socket "/var/lib/mysql/mysql.sock" (2)
此bug尚未找出解决方案,但我已使用了曲线救国的方案来救命
用了阿里云市场中提供的镜像;
用 localhost 为host的话,php连接mysql时就会走socket的方式而非TCP/IP的方式。
镜像中提供的可视化运维系统(PHP),似乎指定了mysql socket的路径为:/tmp/mysql.sock;因此,若我改 mysql的配置socket的话,则该可视化运维系统不可用;
该可视化运维系统使用了zend的工具进行加密,无法修改;
因此只能改自己PHP的配置mysqli.default_socket;
备注:经测试,用php_mysql扩展的话,mysql.default_socket修改成功,并能成功连接。
而修改mysqli.default_socket的话,依然报上述的错,也就是设置无效。
利用php_info查看了一下mysqli的配置,结果如下:
MYSQLI_SOCKET /tmp/mysql.sock mysqli.default_socket no value
这里可以看出俩问题:
似乎设置好了MYSQLI_SOCKET,但为何未能设置成功mysqli.default_socket?
google了一下,别人都是说MYSQLI_SOCKET会覆盖mysqli.default_socket,因此需要处理MYSQLI_SOCKET不正确的问题;那在我这,为何MYSQLI_SOCKET没有覆盖mysqli.default_socket?
搞不定此socket的配置,只好换回用127.0.0.1来走TCP/IP。
备注:用127.0.0.1的话,记得在mysql的配置文件my.cnf中把skip-name-resolve给注释掉,否则会报以下这错:
Host "127.0.0.1" is not allowed to connect to this MySQL server
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/21273.html
摘要:连接连接的操作实际上是启动一个连接进程和数据库实例进行通信,本质上属于进程间通信,而进程通信的方式有管道命名管道命名字套接字套接字。同时代表该文件内容为空。 在观察MySQL本地连接的时候,发现对mysql.sock是个啥我不明白,于是我提出了一个问题:mysql.sock到底存了什么信息? 根据多方查资料和自我思考,我有了自己的一些认识和结论,但结论并不一定正确,欢迎大家指教。 连接...
摘要:现在立即用这个密码登录并且修改密码版本对密码的安全性要求很严格,必须至少包含个大写字母个小写字母个数字和个特殊字符,长度不得小于个字符其中就是新密码。一般都是使用用户其中中要留意这个值这里使用端口,这个选项在配置网站时要用到的。 软件版本 Nginx版本: nginx 1.12.0Mysql版本:mysql 5.7.18PHP版本:php 7.1.4 实现环境 Centos版本:Cen...
阅读 2800·2021-11-24 09:39
阅读 2439·2019-08-30 15:53
阅读 3011·2019-08-30 13:47
阅读 1272·2019-08-30 12:50
阅读 1467·2019-08-29 16:31
阅读 2616·2019-08-29 13:14
阅读 1546·2019-08-29 10:55
阅读 762·2019-08-26 13:32