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

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

在网上搜索了一下它们的区别,有人已经说的很明白了,具体可以参看:http://www.jb51.net/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:

代码如下:

echo "show variables" | mysql | grep "socket"

方法二:

代码如下:

echo "status" | mysql | grep "socket"

注意:如果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服务。

(0)

相关推荐

  • mac系统OS X10.10版本安装最新5.7.9mysql的方法

    用过mac的朋友都反映很好用,不仅美观,性能好,关键是他的系统底层对于开发人员来说,无疑就是一个最大的好处,用习惯linux的人就知道mac的强大. 但是也有一点最蛋疼的是,mac的习惯跟windows两个概念,习惯了windows,难免会有点不知所措.甚至软件的安装也有极大的差别. 最近装完svn.再装mysql,折腾到不像人样,最后看官方文档以及网络上的资料,才慢慢了解. 关于目前mysql最新版的问题以及mac系统下10.10的mysql问题,网上几乎没有资料,经过两天的反复安装测试,终于

  • 在MAC OS X上安装MYSQL

    我在网上找到了一篇文章,简直堪称神器. 刚开始用brew search mysql ...能找到,按照提示一步一步安装,结果到最后就是启动不起来,老提示一个sock相关的错误.. 后来我还是直接到mysql 的官网下载了适合MAC 平台的 mysql-5.5.17-osx10.6-x86_64.dmg 打开后发现3个文件,安装顺序: 1.mysql-5.5.17-osx10.6-x86_64.pkg 数据库 2.MySQLStartupItem.pkg 这样MySQL就会自动在开机时自动启动了.

  • Mac操作系统下MySQL密码忘记后重置密码的方法

    安装好MySQL以后,系统给了个默认的的密码,然后说如果忘记了默认的密码......我复制了默认密码就走过了只一步,这一步就是我漫长旅程的开始.他给的密码太复杂了,当然我得换一个,而且我还要假装我不记得密码了,就这样我走上了不归路...... 这个过程是心酸的,网上的资料多如狗,关键是各有各的错法,尝试了半天没一个对的,在即将打破心理防线,要去翻MySQL文档的时候,我改成功了.没有一个文章告诉我完整的答案,我是参考了好几个攻略,闭门造出来的车.给自己点赞.废话不多说,一步一步跟我走. 关闭my

  • MAC下mysql安装配置方法图文教程

    一.下载MySQL 访问MySQL的官网http://www.mysql.com/downloads/ 然后在页面中会看到"MySQL Community Server"下方有一个"download"点击. 进入MySQL的下载界面(http://www.mysql.com/downloads/mysql/),如果你是用的Mac OS来访问的话那么就会默认为你选好了Mac OS X 平台,而下面罗列的都是在Mac OS上能用的MySQL的版本,如果是用的其他平台,在

  • Mac 将mysql路径加入环境变量的方法

    1.打开终端,输入: cd ~ 会进入~文件夹 2.然后输入:touch .bash_profile 回车执行后, 2.再输入:open -e .bash_profile 会在TextEdit中打开这个文件(如果以前没有配置过环境变量,那么这应该是一个空白文档).如果有内容,请在结束符前输入,如果没有内容,请直接输入如下语句: export PATH=${PATH}:/usr/local/mysql/bin 然后,保存,退出TextEdit(一定是退出),关闭终端并退出.

  • MAC系统中添加MYSQL开机启动的方法

    1.添加文件 复制代码 代码如下: touch /Library/LaunchDaemons/com.mysql.mysql.plist 2.添加内容 复制代码 代码如下: <?xml version="1.0" encoding="UTF-8"?>  <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/Prop

  • Mac 安装和卸载 Mysql5.7.11 的方法

    安装 去http://www.mysql.com/downloads/, 选择最下方的MySQL Community Edition,点击MySQL Community Server的download, 下载DGM Archive版本. 下载好之后发现只有一个dmg主文件,貌似5.7之前的版本会有多个安装文件. 点开这个文件,逐步安装,注意在成功的时候会弹出提示框,给出临时密码,一定要记住,一定要记住,一定要记住!!!! 如果没找到,请桌面右拉看notifications. 安装成功后,到偏好设

  • Mac下安装mysql5.7.18的详细步骤

    一.工具 我们需要现在两个工具:MySQL 服务器(mysql-5.7.18).MySQL GUI(mysql-workbench) MySQL 服务器包含了MySQL 的整个运行环境,安装了它就能通过命令行让 MySQL 运行的很好了. 当然如果你不喜欢命令行,可以下载一个 GUI工具来管理 MySQL.GUI的功能很丰富,包括权限设置,创建数据库.创建表格等等. 二.安装 1.MySQL 服务器 下载地址:https://dev.mysql.com/downloads/mysql/.我下载的

  • Mac上安装MySQL过程分享

    1.下载MySQL下载地址,选择要下载的版本,建议选择DMG安装包,用着比较方便. 2.解压并安装DMG包中的mysql-5.6.12-osx10.7-x86_64.pkg,然后安装MySQLStartupItem.pkg. #注 MySQL的Mac OS X PKG安装到/usr/local/mysql-VERSION,并且还会安装一个符号连接,/usr/local/mysql,指向新的位置.如果有/usr/local/mysql目录,首先将它改名为/usr/local/mysql.bak.安

  • Mac下安装mysql5.7 完整步骤(图文详解)

    最近使用Mac系统,准备搭建一套本地web服务器环境.因为Mac系统自带PHP和apach,但是没有自带mysql,所以要手动去安装mysql,本次安装mysql最新版5.7.17. 1.官网下载 MySQL v5.7官方正式版下载地址:http://www.jb51.net/softs/451120.html 点击上面的地址,会看到如下图的页面.你可能不知道该下载哪一个,我下载的是最后一个,就是图中标注红色的那个按钮,为什么?因为它是dmg文件,傻瓜式安装,一路确认就可以. 点进去之后,你会看

随机推荐