linux mysql 只读模式_Linux文件目录变只读(Read-only file system)导致mysql启动失败
背景今天准备调试一个很久没打开的项目时,页面死活没出数据。后来发现数据库停止,故用命令启动,查看运行状态,发现以下异常。Jun 15 15:30:58 sccprocduat10 systemd[1]: Started LSB: start and stop MySQL.Jun 15 15:30:59 sccprocduat10 mysqld[52940]: rm: cannot remove ‘
背景
今天准备调试一个很久没打开的项目时,页面死活没出数据。后来发现数据库停止,故用命令启动,查看运行状态,发现以下异常。
Jun 15 15:30:58 sccprocduat10 systemd[1]: Started LSB: start and stop MySQL.
Jun 15 15:30:59 sccprocduat10 mysqld[52940]: rm: cannot remove ‘/d1/Mysql_kits/dbdata/sccprocduat10.pid’: Read-only file system
Jun 15 15:30:59 sccprocduat10 mysqld[52940]: 2020-06-15T07:30:59.014993Z mysqld_safe Fatal error: Can‘t remove the pid file:
Jun 15 15:30:59 sccprocduat10 mysqld[52940]: /d1/Mysql_kits/dbdata/sccprocduat10.pid.
Jun 15 15:30:59 sccprocduat10 mysqld[52940]: Please remove the file manually and start /usr/local/mysql/bin/mysqld_safe again;
Jun 15 15:30:59 sccprocduat10 mysqld[52940]: mysqld daemon not started

分析
rm: cannot remove ‘/d1/Mysql_kits/dbdata/sccprocduat10.pid’: Read-only file system
通过这一句我们可以得知,因为该文件目录是只读状态,mysql无法删除sccprocduat10.pid文件,导致冲突无法启动
解决方案
1.查看当前挂载信息
more /etc/fstab

cat /proc/mounts

可以看到当前 /d1 目录挂载的分区,状态是ro,需要重新挂载 。
2.重新挂载
取消挂载
umount /dev/mapper/vgdata-lv_d1
如果发现有提示“device is busy”,使用如下命令找到占用它的那个进程并kill掉
fuser -m /boot ##将会显示使用这个模块的pid
fuser -mk /boot ##将会直接kill那个pid
如果这里使用fuser命令报错,解决方案
-bash: fuser: command not found
yum install psmisc
再次挂载
mount /dev/mapper/vgdata-lv_d1 /d1
3.测试
挂载成功之后重新启动mysql,查看状态,如下表示启动成功。

参考:
原文:https://www.cnblogs.com/sueyyyy/p/13141160.html
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)