完美解决MySQL通过localhost无法连接数据库的问题

 更新时间:2017年02月16日 10:31:55   投稿:jingxian  
下面小编就为大家带来一篇完美解决MySQL通过localhost无法连接数据库的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

问题:一台服务器的PHP程序通过localhost地址无法连接数据库,但是如果设置为127.0.0.1则可以正常连接,连接其他数据库服务器也正常。MySQL的权限设置正确,且通过mysql命令行客户端可以正常连接数据库。

分析:这是典型的socket没有正确设置的情况。

连接MySQL数据库有两种方式:TCP/IP(一般理解的端口的那种)和Unix套接字(一般叫socket或者sock)。大部分情况下,可以用localhost代表本机127.0.0.1,但是在MySQL连接时,二者不可混用,而且MySQL中权限设置中localhost与127.0.0.1也是分开设置的。当设置为127.0.0.1时,系统通过TCP/IP方式连接数据库;当设置为localhost时,系统通过socket方式连接数据库。

解决:首先要看本机MySQL的socket套接字文件在哪里,查看命令是:

mysqld --verbose --help | grep socket

输出结果显示套接字文件的位置,比如:这台服务器显示的是

socket      /var/run/mysqld/mysqld.sock

然后修改php的配置文件php.ini与之对应起来就好了。

找到这一项:

mysql.default_socket =

一般来说这一项都是空的,改成:

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

这里应写上一步查询到的文件,根据你的情况设置。至此php配置就修改好了,如果是CLI(命令行)方式或者CGI方式的话,立即就生效,如果是FASTCGI方式,需要重启一下fastcgi进程。

以上这篇完美解决MySQL通过localhost无法连接数据库的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Mysql的基础使用之MariaDB安装方法详解

    Mysql的基础使用之MariaDB安装方法详解

    这篇文章主要介绍了Mysql的基础使用之MariaDB安装的相关资料,需要的朋友可以参考下
    2016-09-09
  • Mysql体系化探讨令人头疼的JOIN运算

    Mysql体系化探讨令人头疼的JOIN运算

    这篇文章主要介绍了体系化探讨令人头疼的JOIN运算,本文将对JOIN运算进行体系化深入的探讨,根据自己工作经验及参考业界经典案例,针对性地提出语法简化和性能优化的方法论,需要的朋友可以参考下
    2022-07-07
  • 如何查看连接MYSQL数据库的IP信息

    如何查看连接MYSQL数据库的IP信息

    这篇文章介绍了三种查看连接MYSQL数据库的IP信息方法,方法简单实用,需要的朋友可以参考下
    2015-07-07
  • mysql记录根据日期字段倒序输出

    mysql记录根据日期字段倒序输出

    这篇文章主要介绍了mysql记录根据日期字段倒序输出 的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-07-07
  • Mysql数据库函数之函数的用法小结

    Mysql数据库函数之函数的用法小结

    函数只是对查询结果中的数据进行处理,不会改变数据库中数据表的值,MySQL中的函数主要分为单行函数和多行函数两大类,下面我们将详细讲解这两大类函数,这篇文章主要介绍了Mysql数据库函数之函数的用法,需要的朋友可以参考下
    2022-11-11
  • MySQL使用UUID_SHORT()的问题解决

    MySQL使用UUID_SHORT()的问题解决

    MySQL的UUID_SHORT()函数是一个用于生成短UUID的函数,该函数返回一个64位的整数,可以用于唯一标识一条数据记录,本文介绍了MySQL使用UUID_SHORT()的问题解决,感兴趣的可以了解一下
    2023-08-08
  • java连接mysql底层封装详解

    java连接mysql底层封装详解

    这篇文章主要介绍了java连接mysql底层封装,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10
  • apache中访问不了伪静态页面的解决方法

    apache中访问不了伪静态页面的解决方法

    apache中访问不了伪静态页面的解决方法,有需要的朋友可以参考下
    2013-02-02
  • MySQL中索引的优化的示例详解

    MySQL中索引的优化的示例详解

    索引是数据库优化最常用也是最重要的手段之一,通过索引通常可以帮助用户解决大多数的MySQL的性能优化问题。本文主要来讲讲索引优化的方法,希望对大家有所帮助
    2023-02-02
  • MySQL数据库表空间回收的解决

    MySQL数据库表空间回收的解决

    本文主要介绍了MySQL数据库表空间回收的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02

最新评论