mysql 启动报错 Can‘t change dir to ‘xxx‘, No such file or directory 配置错误或挂载导致

省流:

挂载的话,使用 /etc/fstab

正文:

在企业中,服务器重启,有时候会遇到mysql 启动报错 Can`t change dir to 'xxx', No such file or directory。大致意思是无法将目录换成xxx,因为没有这个目录。

原因通常是配置文件配置的目录有问题,或者挂载盘加载慢于mysql启动(mysql的data数据放在挂载盘里)

linux中配置文件是my.cnf,通常路径是 /etc/my.cnf

windows中配置文件是my.ini,

mysql配置文件大致内容如下:

bash 复制代码
# mysql路径
basedir=/sata09/data/mysql
# mysql存数据的路径
datadir=/sata09/data/mysql/data

这篇文章以挂载问题导致为例。

挂载有两种:

rc.local,fstab。最好使用fstab,原因如下:

开机挂载mount,/etc/fstab与/etc/rc.d/rc.local区别差不多,差别就是如果你又程序依赖于NFS的话还是的放到fstab比较好。程序启动先加载/etc/fastab文件。

放fstab里面会在程序启动前加载上NFS文件系统,放到rc.local里往往造成程序启动加载时找不到路径

我之前的挂载命令是放在/etc/rc.local,现在需要放在/etc/fstab

bash 复制代码
mount /prd/ssd/ssd01   /ssd01   
mount /prd/sata/sata01   /sata01

详细日志如下:

cs 复制代码
Oct 17 02:50:32 ali5messrv1 mysqld: mysqld: Can`t change dir to '/sata09/data/mysql/' (Errcode: 2 - No such file or directory)
Oct 17 02:50:32 ali5messrv1 mysqld: 2023-10-16T18:50:32.060197Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
Oct 17 02:50:32 ali5messrv1 mysqld: 2023-10-16T18:50:32.060311Z 0 [Warning] Can`t create test file /sata09/data/mysql/ali5messrv1.lower-test
Oct 17 02:50:32 ali5messrv1 mysqld: 2023-10-16T18:50:32.060344Z 0 [Note] /usr/sbin/mysqld (mysqld 5.7.32-log) starting as process 3280 ...
Oct 17 02:50:32 ali5messrv1 mysqld: 2023-10-16T18:50:32.060369Z 0 [ERROR] Can`t find error-message file '/sata09/data/mysql/share/mysql/errmsg.sys'. Check error-message file location and 'lc-messages-dir' configuration directive.
Oct 17 02:50:32 ali5messrv1 mysqld: 2023-10-16T18:50:32.060943Z 0 [Warning] Can`t create test file /sata09/data/mysql/ali5messrv1.lower-test
Oct 17 02:50:32 ali5messrv1 mysqld: 2023-10-16T18:50:32.060950Z 0 [Warning] Can`t create test file /sata09/data/mysql/ali5messrv1.lower-test
Oct 17 02:50:32 ali5messrv1 mysqld: 2023-10-16T18:50:32.060990Z 0 [ERROR] failed to set datadir to /sata09/data/mysql/
Oct 17 02:50:32 ali5messrv1 mysqld: 2023-10-16T18:50:32.060998Z 0 [ERROR] Aborting

Oct 17 02:50:32 ali5messrv1 systemd[1]: Starting MySQL Server...
Oct 17 02:50:32 ali5messrv1 mysqld_pre_systemd[2476]: mysqld: Can't create directory '/sata09/data/mysql/' (Errcode: 2 - No s...tory)
Oct 17 02:50:32 ali5messrv1 mysqld_pre_systemd[2476]: 2023-10-16T18:50:32.867006Z 0 [Warning] TIMESTAMP with implicit DEFAULT...ils).
Oct 17 02:50:32 ali5messrv1 mysqld_pre_systemd[2476]: 2023-10-16T18:50:32.867111Z 0 [ERROR] Can't find error-message file '/s...tive.
Oct 17 02:50:32 ali5messrv1 mysqld_pre_systemd[2476]: 2023-10-16T18:50:32.867941Z 0 [ERROR] Aborting
Oct 17 02:52:03 ali5messrv1 systemd[1]: Started MySQL Server.

开机挂载mount etc/fstab与/etc/rc.d/rc.local区别-阿里云开发者社区

Oct 17 02:50:32 ali5messrv1 mysqld: mysqld: Can't change dir to '/sata09/data/mysql/' (Errcode: 2 - No such file or directory)

Oct 17 02:50:32 ali5messrv1 mysqld: 2023-10-16T18:50:32.060197Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).

Oct 17 02:50:32 ali5messrv1 mysqld: 2023-10-16T18:50:32.060311Z 0 [Warning] Can't create test file /sata09/data/mysql/ali5messrv1.lower-test

Oct 17 02:50:32 ali5messrv1 mysqld: 2023-10-16T18:50:32.060344Z 0 [Note] /usr/sbin/mysqld (mysqld 5.7.32-log) starting as process 3280 ...

Oct 17 02:50:32 ali5messrv1 mysqld: 2023-10-16T18:50:32.060369Z 0 [ERROR] Can't find error-message file '/sata09/data/mysql/share/mysql/errmsg.sys'. Check error-message file location and 'lc-messages-dir' configuration directive.

Oct 17 02:50:32 ali5messrv1 mysqld: 2023-10-16T18:50:32.060943Z 0 [Warning] Can't create test file /sata09/data/mysql/ali5messrv1.lower-test

Oct 17 02:50:32 ali5messrv1 mysqld: 2023-10-16T18:50:32.060950Z 0 [Warning] Can't create test file /sata09/data/mysql/ali5messrv1.lower-test

Oct 17 02:50:32 ali5messrv1 mysqld: 2023-10-16T18:50:32.060990Z 0 [ERROR] failed to set datadir to /sata09/data/mysql/

Oct 17 02:50:32 ali5messrv1 mysqld: 2023-10-16T18:50:32.060998Z 0 [ERROR] Aborting

Oct 17 02:50:32 ali5messrv1 systemd[1]: Starting MySQL Server...

Oct 17 02:50:32 ali5messrv1 mysqld_pre_systemd[2476]: mysqld: Can't create directory '/sata09/data/mysql/' (Errcode: 2 - No s...tory)

Oct 17 02:50:32 ali5messrv1 mysqld_pre_systemd[2476]: 2023-10-16T18:50:32.867006Z 0 [Warning] TIMESTAMP with implicit DEFAULT...ils).

Oct 17 02:50:32 ali5messrv1 mysqld_pre_systemd[2476]: 2023-10-16T18:50:32.867111Z 0 [ERROR] Can't find error-message file '/s...tive.

Oct 17 02:50:32 ali5messrv1 mysqld_pre_systemd[2476]: 2023-10-16T18:50:32.867941Z 0 [ERROR] Aborting

Oct 17 02:52:03 ali5messrv1 systemd[1]: Started MySQL Server.

相关推荐
无敌的牛31 分钟前
MySQL基础
数据库·mysql
鱼跃鹰飞1 小时前
面试题:解释一下什么是全字段排序和rowid排序
数据结构·数据库·mysql
Dxy12393102161 小时前
MySQL连表查询讲解:从基础到实战
数据库·mysql
韩立学长2 小时前
【开题答辩实录分享】以《兴趣班预约管理系统的设计与实现》为例进行选题答辩实录分享
java·mysql·intellij idea
岁岁种桃花儿3 小时前
MySQL知识汇总:讲一讲MySQL中Select语句的执行顺序
数据库·mysql·database
计算机毕设指导63 小时前
基于微信小程序民宿预订管理系统【源码文末联系】
java·spring boot·mysql·微信小程序·小程序·tomcat·maven
ICT董老师4 小时前
kubernetes中operator与helm有什么区别?部署mysql集群是选择operator部署还是helm chart部署?
linux·运维·mysql·云原生·容器·kubernetes
霖霖总总4 小时前
[小技巧29]Batched Key Access:MySQL JOIN 性能优化的关键技术
数据库·mysql·性能优化
中环留念4 小时前
MySQL 索引全解析:索引类型、聚簇索引、回表与性能优化
sql·mysql·索引·图解
五阿哥永琪4 小时前
MySQL 回表查询 性能代价?如何避免?
数据库·mysql