Chinaunix首页 | 论坛 | 博客
  • 博客访问: 286316
  • 博文数量: 38
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 221
  • 用 户 组: 普通用户
  • 注册时间: 2014-08-25 17:36
文章分类

全部博文(38)

文章存档

2015年(1)

2014年(37)

分类: Mysql/postgreSQL

2014-10-15 15:25:18

一直用apt-get安装mysql,最近没事,下了个5.5.18版编译安装,却发现用localhost无法连上,但127.0.0.1却可以,求指点。
附上编译参数: 
php:
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-jpeg-dir=/usr/local --with-png-dir=/usr/local --with-zlib-dir=/usr/local --with-freetype-dir=/usr/local --with-iconv-dir=/usr/local --enable-gd-native-ttf --enable-gd-jis-conv --with-gd=/usr/local --with-libxml-dir=/usr/local --with-mhash=/usr/local --with-mcrypt=/usr/local --with-openssl=/usr/local --with-curl=/usr/local --with-curlwrappers --enable-bcmath --enable-wddx --enable-calendar --enable-mbstring --enable-ftp --enable-zip --enable-sockets



localhost 是走 socket 127.0.0.1 是走 3306端口 确保 my.cnf 里这俩的设置是ok的 还有就是看看是不是防火墙拦住了。


linux下,mysql的localhost默认是指unix socket,看看mysql的配置文件,在mysqld那一部分你的mysqld打开的unix socket放在哪里,一般是/tmp/mysql.sock之类的,再看看mysql(客户端)默认是去哪儿找unix socket(看看/etc/mysql.conf的配置,mysql那一部分中默认unix socket的路径,实在不行对mysqld用lsof,对mysql用strace看看丫的究竟open调用打开哪个文件去了),这两个如果对不上,那就连不上。 
127.0.0.1对mysql来说指的是tcp socket,一般没问题。


使用mysql -uroot -p 或 mysql-uroot -p -h localhost 会默认去读/var/lib/mysql/**.socket 文件,肯定找不到的,因为你编译之后指定的目录为: /usr/local/mysql

阅读(2747) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~