Chinaunix首页 | 论坛 | 博客
  • 博客访问: 537554
  • 博文数量: 120
  • 博客积分: 3991
  • 博客等级: 中校
  • 技术积分: 1113
  • 用 户 组: 普通用户
  • 注册时间: 2009-08-31 15:57
文章分类

全部博文(120)

文章存档

2011年(3)

2010年(6)

2009年(111)

我的朋友

分类: Mysql/postgreSQL

2009-10-22 10:13:44

“/var/lib/mysql/mysql.sock不存在”的信息遇到过几次。不过我碰到的情况,通常是mysql.sock的位置问题。可以通过修改/etc/my.cnf来指定它的位置。

比如

[mysql]

socket=/var/lib/mysql/mysql.sock

[mysqld]

socket=/var/lib/mysql/mysql.sock

前者是告诉客户端(mysql)到哪里去找mysql.sock;后者是告诉mysqld启动时,把mysql.sock放在哪个目录下。

在ODBC的配置文件中也可以指定mysql.sock的位置,对于使用ODBC连接本地MYSQL的程序,可能需要配置.odbc.ini,加上对其位置的指定。

此外,出现上述错,通常是因为,安装了两个版本的MySQL。比如一个是rpm方式安装(在redhat系列上通常会有一个缺省安装的较低版本的 MySQL即是通过rpm方式安装的),另一个是用tgz包解压在/usr/local下安装的。而两个版本的mysqld和mysql缺省的 mysql.sock的路径是不同的。如果启动的是3.2的mysqld,而用4.1的mysql去连接,就可能找不到mysql.sock而报错。反之亦然。安装两个版本是没问题的,但要知道当前你执行的mysql和mysqld是否是同一版本的。而这一问题又往往被忽略,因为通常运行mysql和 mysqld都是不加绝对路径的,这时候就找的是缺省路径中的mysql和mysqld了,而又未必是你真正想用的那个版本。


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