求问mysql系统表的那个地方设定了mysql.sock的位置???

RT!

貌似感觉这个设定到了系统表中。

事情是酱紫的:
我用yum安装了mysql5.0.92
而后没有启动mysqld服务的情况下----也就是还没有初始化
就手动修改了my.cnf文件
设定了sock=/tmp/my.sock

而后手动执行了
/usr/bin/mysql_install_db

而后service mysqld restart
成功启动后。
发现安装织梦(dedecms)老是报告链接数据库失败。但是密码明明是正确的,而且用的是mysql的root帐户 是有建立库的权限的!!!


放了一这么一个测试程序
<html>
<body>
<?php
$db = mysql_connect("localhost", "root","xs2011");
mysql_select_db("xxx",$db) or die(mysql_error());
?>
</body>
</html>
浏览器显示
Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

于是到my.cnf中设定
sock = /var/lib/mysql/mysql.sock
重启mysqld。然后再尝试,这下dedecms不报错了!!!

求问介个是怎么一回事???

作者: laohuanggua   发布时间: 2011-05-24

my.cnf只能改变 mysql客户端程序的读取socket位置

php 用的mysql 客户端库是不读取my.cnf的,这个你要修改php.ini :

; Default socket name for local MySQL connects.  If empty, uses the built-in
; MySQL defaults.
mysql.default_socket = /tmp/mysql.sock

然后重启apache或者fastcgi之类

作者: gucuiwen   发布时间: 2011-05-24