1、发现问题
我的mysql安装在centos上,默认日期不能为空,部分系统导入数据的时候,空字符串不被认可,导致整个数据导入失败,只能修改my.cnf,添加sql_mode。
但就在一切就绪之后,输入service mysqld restart时,重启失败了!!
连接数据库的时候,被告知无法打开mysql.sock,查看/var/lib/mysql,确实没有这个文件。
查看日志,发现一句mysqld: Can't create/write to file '/tmp/ibeYVEhy' (Errcode: 13 - Permission denied),估计是没有/tmp的写入权限
2、木马木马
进入/tmp,发现了两个文件gates.lod moni.lod,从名字上看就估计是木马,之前阿里云也确实报过木马,不过知道在linux下怎么查杀,也没有影响系统使用,就没有管。
首先删除其权限chmod ugo-rwx /tmp/gates.lod再删除文件rm -rf /tmp/gates.lod,但文件马上又恢复了,权限也回去了。对于在windows上都只会用360安全卫士的我来说,查杀这个太超出我的能力了,发现删除权限之后,不会自动恢复,就不删除它了。
3、修改mysql的tmpdir
由于也不知道怎么给mysql重新开启/tmp的权限,干脆就修改my.cnf,把tmp移到别的地方。
cd /var/lib/mysql
mkdir tmp
chown mysql:mysql /var/lib/mysql/tmp
4、修改数据文件夹权限
touch /var/lib/mysql/mysql.sock(不知道手动新建这个文件有没有用,反正我当时是敲进去了)
service mysqld start,没问题了。但连接数据库之后,不能查表,报错:can't find /var/lib/mysql/xxx/xxx.frm (access denied),大概这么一个信息,记不全了。
心里一惊,不会数据都丢了吧!!
进入文件夹,查看各个库的文件都在,那就是权限问题了。
chown mysql /var/lib/mysql
这下彻底好了,当然,木马的问题不算,等再学习下再处理吧。
5、后记
linux的好多指令都是知道大概意思,不太会用,看网上怎么说,就试着敲进去看看,运气好就成功了呢。
以前也重启过mysql,但都没有问题,这次的权限问题不知道是不是被木马搞的。只能再学习下去处理它。