在linux下找不到mysql.sock怎么办?
一、
Error: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
Errno.: 2002
解决方法一:
因为你还没有启动mysql,当你启动mysql后,mysql.sock就会自动的生成。./bin/safe_mysqld --user=root &(这是默认的)。
如果还没有,就是MYSQL权限没给,或其它原因
解决方法二:
1)默认的mysql.sock文件是在/tmp目录下。
2)我们建立一个软连接,ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock
二、在重启mysql出现:Timeout error occurred trying to start MySQL Daemon.
[root@linux mysql]# service mysqld start
Timeout error occurred trying to start MySQL Daemon.
Starting MySQL: [FAILED]
解决方法:
(1)先看日志 /var/log/message,但是看来 /var/log/mysql
(2)磁盘满的话也会出现这个情况
可以 df -H看下磁盘情况,如果其他都正常的话,突然出现这个问题的时候
[root@linux log]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/hda1 9920592 2292208 7116316 25% /
/dev/hda6 19171756 963340 17218816 6% /backup
tmpfs 509492 0 509492 0% /dev/shm
/dev/hda2 39674224 22471284 15155056 60% /home
/dev/hda3 4956316 4714212 0 100% /var
这时会发现:var 满了,这时找到原因所在了,因为数据库都存放在这,联mysql.sock也是在这里面生成的,满了当然生成不了。
这时解决就是把没用的日志文件和其它没的的文件或数据删掉。
在网上找的答案是:
{linux环境下执行命令ls,ls >>log.txt; 将其结果重定向输出到log.txt文件中; 但缺省的每次都会追加到log.txt文件中;
请问怎么样才能让日志内容不追加;只保留当前操作的输出内容}
从上面这句我们可以理解为
[root@linux log]#ls > log.txt
一个>就是覆盖log.txt
这样原本
-rw-r----- 1 mysql mysql 17256394 Sep 18 02:13 mysqld.log //17256394k=1.8M
个人操作:[root@linux mysql]# ls >mysqld.log
变成
-rw-r----- 1 mysql mysql 403 Sep 18 02:33 mysqld.log //403k
重新查看磁盘:
[root@linux mysql]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/hda1 9.5G 2.2G 6.8G 25% /
/dev/hda6 19G 941M 17G 6% /backup
tmpfs 498M 0 498M 0% /dev/shm
/dev/hda2 38G 22G 15G 60% /home
/dev/hda3 4.8G 4.5G 8.0K 100% /var
[root@linux /]# service mysqld restart
Stopping MySQL: [ OK ]
Starting MySQL: [ OK ]