linux下安装mysql及mysql.sock问题
最近在linux上装Aphace,mysql,php时,遇到很多问题,在装apache和php遇到的问题要简单点,在百度,google上一搜就解决了,唯独在装mysql的时候遇到了一个问题困扰了我很久。
我用的是ubuntu7.0.我装mysql时,运行mysqladmin version时,始终出错:
can't connect to local MySQL server through socket 'var/run/mysqld/mysqld.sock'
这个把我弄得几近崩溃,我在网上查找了很多的解决办法,大概有几种解决方案:
1.权限问题
2.修改/etc/my.cnf文件
3.操作系统或mysql升级
4.创建/var/run/mysqld/mysqld.sock
以上的方法我都试过了,结果都没有解决问题。我差不多要放弃了,不过我想再坚持一下,一定能够解决掉的。我准备发邮件想easychen,zoltan请 教,正当我要发邮件的时候,我想能不能换个思维,我的想法是:既然can't connect to socket '/var/run/mysqld/mysqld.sock'
,那么我在链接socket时,在后面加上socket参数不就得了么,
即:mysqladmin version --socket == /tmp/mysql.sock
没有想到的事情发生了,问题居然解决了,太高兴了。问题虽然解决了,但是却不知道为什么这样,为什么默认是/var/run/mysqld /mysqld.sock?我在my.cnf文件里查了一下,client和mysqld中的socket路径都是/tmp/mysql.sock,而且 在编译时指定的socket也是/tmp/mysql.sock!这点确实有点不懂,看来我得需要在网上在找找答案了!望知情人士多多指教。
下面在单独给大家介绍下liunx mysql.sock问题
错误代码:Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock '
mysql.sock根本就不在 /var/lib/mysql 目录下。自己的目录在 /tmp/mysql.sock
于是做了一个连接。
ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock
重新启动就好了
注:ln用法:ln -s 源文件 目标文件 ln命令详情:
总结