• Daily Archives: 2013年6月3日

mysql无法启动,提示”ERROR! The server quit without updating PID file (/var/lib/mysql/sway.pro.pid).”

某次重启后, 发现再也不能启动mysql服务器了.

使用 service mysql restart 指令, 却提示:

[root@sway ~]# service mysql restart
ERROR! MySQL server PID file could not be found!
Starting MySQL... ERROR! The server quit without updating PID file (/var/lib/mysql/sway.pro.pid).

回想了一下刚刚的操作, 我曾经不小心把在系统根目录使用的递归权限设置指令 chown -R virtual / , 致使出现了一连串的问题(本来我是想添加所有文件夹的修改权限给virtual的,没想到是全部改成了权限只属于virtual一人了), 当我重新使用 chown -R root / 指令后, 发现基本恢复正常了. 后来经历了一次重启, 发现我服务器的网站提示数据库连接出错, 于是上网搜索了一堆资料, 一开始还以为是什么僵尸进程导致的, 后来继续找, 发现是权限问题, 估计是mysql丢失了原本是属于他的文件权限了.

使用这个指令”chown -R mysql.mysql /var/lib/mysql”后, 再使用  service mysql start 指令, 一切正常..!

以下是我找到的原文记录:

现在又进行了如下操作:
mkdir /var/lib/mysql
chown -R mysql.mysql /var/lib/mysql

然后再运行mysqld_safe --user=mysql &

发现还是错误,立马进入/var/lib/mysql进行查看,发现文件夹里面的文件,不是lib文件,而是mysql数据库
发现问题,立马在mysqld_safe后面加上--basedir和--datadir目录,结果可以运行,而且一切正常

后修改mysql服务启动文件,修改basedir和datadir,结果启动发现sock出错。

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

目前继续排错中。。。。

一到公司运行
/usr/local/mysql/bin/mysqld_safe --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --user=mysql &
发现又出现错误了,NND

出自于: http://forum.ubuntu.org.cn/viewtopic.php?t=333605

修改文件目录的权限(chown chgrp)

linux下,每一个文件、每一个目录都有一个属主,并针对用户自己、用户所在组、其它所有帐号(组)分别设定读、写、执行三种权限。例如,我(假定是webusers组的floatboat帐户的拥有者)使用如下命令建立一个新的文件 touch mytestfile
然后我们使用ls -l mytestfile这一命令来查看这个文件的权限状态(关于ls命令,可以查阅本站的命令查询),可以得到如下的屏幕输出显示:
-rw-rw-r– 1 floatboat webusers 0 Feb 6 21:37 mytestfile
输出由空格分为9个部分,我们比较关心第一、三、四个字段,分别表示文件权限属性、文件所有者帐户、文件所属组。
◆使用chown命令修改文件的主人
当你新建立一个文件的时候,文件的所有者当然就是你了。这一事实只有超级用户(比如说root)才可以通过chown命令改变(例如 chown otheruser mytestfile,把mytestfile文件的属主改为otheruser)。普通用户不能把自己的文件“送”给别人,不然你把有特殊目的的程序给了root怎么办?:)
chown命令的用法比较简单。这里我先假设你现在拥有超级用户权限,那么你就可以使用如下命令将一个文件“送给”floatboat了:
chown floatboat /home/floatboat/thefileisrootcreate.txt (假定该文件是由root创建的)
修改一个目录的所有者也是类似的:
chown floatboat /home/newboat
当然,如果这个目录还有子目录及文件需要同时送给floatboat,chown也是支持-R参数的:
chown -R floatboat /home/newboat
如果你同时想修改文件/目录所属的组的话,你可以使用以下命令方便的达到目的:
chown -R floatboat.ftpusers /home/newboat
这样,不但文件主人得到了修改,文件所属的组也变成了ftpusers
◆ 修改文件的组属性
文件所属组你倒是可以改变,前提是:
1、你的超级用户。
2、你同时属于两个或两个以上的组。
两个条件你至少具备一个,你才能够把文件所属旧组变为新组。使用如下的命令将当前目录下所有html文件所属的组改为httpd:
chgrp httpd *.html
和chown命令一样,chgrp也可以使用-R参数对一个目录内的所有文件和子目录进行递归的修改组属性。
:你可以使用不带参数的groups命令查看自己属于哪个组。

vsftp 虚拟账户的 site chmod 的启用

vsftp中使用了虚拟账户,但在默认配置下虚拟账户没有site chmod的使用权限,总是报550 Permission denied 。
让vsftp虚拟用户拥有site chmod的权限的方法是:
1、让vsftp的本地用户(我的是vsuer)拥有文件的目录。

2、修改vsftpd.conf配置文件

guest_enable=YES #允许guest以vuser访问

guest_username=vsuer #允许映射到vuser

virtual_use_local_privs=YES #虚拟用户与vuser 有相同权限

另外可能还需要开启chmod,当然,它是默认开启的。
chmod_enable=YES

close