作为一个学习使用linux的新手,总会遇到不少问题。
上周五,有一台linux服务器受到syn-flood 攻击,试着修改host.conf文件,添加了防止虚假地址攻击参数 multi on ,不料,重启服务器后,查看mysql数据库启动失败,检查丢失了套接字 /tmp/mysql.sock 文件。
谷歌一把,众说纷纭,一头雾水,貌似严重。
扔下,别管了。
周末,H3C安排我们参观杭州总部,体验网络世界,玩山水,游西湖,观宋城,饮美酒,品江鲜,真是“西湖歌舞几时休”流连忘返,身心愉悦。
今天上班,精神焕发,手到病除。
为了安全,首先备份N个数据库文件;
mysql5.0.37数据库使用源码安装,版本5.0.37-log,使用Localhost via UNIX socket,阅读启动脚本/usr/local/bin/mysqld_safe;判断一般人解决故障时没有切换到mysql用户,造成权限有问题,无法创建mysql授权表,所以也就无法创建/tmp/mysql.sock 和hostname.pid文件。因此,总结解决方法如下:
#su mysql
$/usr/local/bin/mysql_install_db     //重建授权表
$/usr/local/bin/mysqld_safe &       
$/usr/local/bin/mysql                //测试
mysq>bye;
$
文件已经解决,重新生成新的 /tmp/mysql.sock 和 hostname.pid
$su root
#chmod +t /tmp/mysql.sock            //添加保护

全部结束!