设为首页 收藏本站
查看: 883|回复: 0

centos安装LAMP环境时访问本地MYSQL数据库错误

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-7-22 10:28:12 | 显示全部楼层 |阅读模式
近日在安装LAMP环境时访问本地MYSQL数据库错误
错误如下:

Warning: mysqli::mysqli(): (HY000/2002): Can't connect to local MySQL server
问题描述:
由于将安装mysql服务器文件位置修改在home目录下,造成本地访问问题。

在网上找了很久终于找到解决问题的方法:
1、先确保在本机上使用命令能登陆,如果也出现提示sock文件位置问题,那么需要修改mysql配置文件(/etc/my.cnf)
增加如下配置:
[mysql]

socket=/home/mysqldata/mysql.sock#这是我的sock文件的位置
2、php使用mysqli无法访问问题
解决方法:
找到PHP配置文件(/etc/php.ini)找到mysqli.default_socket这个值
修改为mysqli.default_socket =/home/mysqldata/mysql.sock#这是我的sock文件的位置

问题分析(这是我在网上找到的解决方案):
On Unix, MySQL programs treat the host name localhost specially, in a way that is likely different from what you expect compared to other network-based programs. For connections to localhost, MySQL programs attempt to connect to the local server by using a Unix socket file. This occurs even if a --port or -P option is given to specify a port number. To ensure that the client makes a TCP/IP connection to the local server, use --host or -h to specify a host name value of 127.0.0.1, or the IP address or name of the local server. You can also specify the connection protocol explicitly, even for localhost, by using the --protocol=TCP option.

其实就是说UNIX系统需要将localhost 这个地址进行转换的文件
解决的方法其他有三个

There are a few ways to solve this problem.
  • You can just use TCP/IP instead of the Unix socket. You would do this by using 127.0.0.1instead of localhost when you connect. The Unix socket might by faster and safer to use, though.
  • You can change the socket in php.ini: open the MySQL configuration file my.cnf to find where MySQL creates the socket, and set PHP's mysqli.default_socket to that path. On my system it's /var/run/mysqld/mysqld.sock.
  • Configure the socket directly in the PHP script when opening the connection. For example:
    $db = new MySQLi('localhost', 'kamil', '***', '', 0,                               '/var/run/mysqld/mysqld.sock')
1、修改连接文件中localhost 为127.0.0.1
2、查看my.cnf文件中sock文件的位子,并赋值到php.ini:文件中的mysqli.default_socket去

3、PHP语言直接多一个参数指向sock文件位置。



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-247751-1-1.html 上篇帖子: 基于CentOS 7系统的两部LAMP服务器,通过NFS共享同一个php网页的实现 下篇帖子: 查看已安装LANMP编译参数 数据库
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表