• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > Mac os 解决无法使用localhost连接mysql问题

Mac os 解决无法使用localhost连接mysql问题

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了mac os x,mac os x lion,mac os iso镜像下载,mac os x系统下载,mac os下载等相关知识,希望本文的分享对您有所帮助

今天在mac上搭建好了php的环境,把先前在window、linux下运行良好的程序放在mac上,居然出现访问不了数据库,数据库连接的host用的是localhost,可以确认数据库配置是正确的,因为在java中使用localhost访问正常,另外通过命令行工具也能正常访问。当把localhost换成127.0.0.1或者本机的IP时,居然正常了。以前一直认为localhost与127.0.0.1是一回事,现在事实证明它们其中还是有区别的。

在网上搜索了一下它们的区别,有人已经说的很明白了,具体可以参看:http://www.weikejianghu.com/article/50422.htm。它们的主要区别是localhost是通过socket方式来连接,而127.0.0.1则是走的TCP协议。

上面提到区别就是导致mac下无法连接数据库的原因。那为什么socket方式无法连接呢?由于mac os lion上已经自带了apache和php,我的环境使用就使用默认的,mysql服务是在官网下载dmg安装最近版本,php的配置文件(/ect/php.ini)中设置有三个地方(mysql.default_socket、mysqli.default_socket、pdo_mysql.default_socket)设置了mysql socket文件存放的位置,其默认值为/var/mysql/mysql.sock。查看mysql服务使用的socket文件有两种方式
方法1:

方法二:

注意:如果mysql设置了密码,使用-u,-p来指定用户名和密码
这里看到mysql的socket文件存放位置为/tmp/mysql.sock。

看到这儿应该知道问题所在了吧,使用localhost连接失败的原因为在socket的方式下,php默认配置的mysql服务的socket文件不存在,所以导致连接失败,如果把连接失败的错误信息dump出来,你应该会看到错误信息中包含了“No such file or directory”。

知道原因就容易修改了,只需要把php配置文件中mysql.default_socket、mysqli.default_socket、pdo_mysql.default_socket这三项值修改为mysql服务配置对应值即可,修改好后需要重启apache服务。当然也可以修改mysql配置文件中的socket信息,使其保持一致即可,修改好后重启mysql服务。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 在MAC OS X上安装MYSQL
  • Mac os 解决无法使用localhost连接mysql问题

相关文章

  • 2018-12-05MySQL基础的配置优化详解
  • 2017-05-11调用MySQL中数据库元数据的方法
  • 2018-12-05MySQL的查询优化详解
  • 2018-12-05解决Oracle 11gR2 RAC 无法在客户端通过scanIP连接数据库
  • 2018-12-05SQLServer2005 批量查询自定义对象脚本
  • 2018-12-05数据库四个范式你又了解多少
  • 2018-12-05win2008 R2 WEB环境配置之MYSQL 5.6.22安装版安装配置方法_MySQL
  • 2018-12-05关于列变行的10篇文章推荐
  • 2018-12-05如何重置mysql 密码的方法
  • 2018-12-05六条比较有用的MySQL数据库操作的SQL语句小结

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • MAC上Mysql忘记Root密码或权限错误的快速解决方案_MySQL
    • 用Oracle9ias开发无线应用程序开发者网络Oracle
    • 分享一个数据库连接不上的问题及解决方案
    • Mysql auto_increment 重新计数(让id从1开始)
    • SQL中的有哪几种数据类型
    • mYsql日期和时间函数不求人
    • sql 刷新视图
    • 数据库sql select查询的工作原理
    • 解析如何通过Mysql的二进制日志恢复数据库数据(图文详解)
    • MySQL中CHAR和VARCHAR类型演变和详解

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有