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.

相关推荐
野蛮人6号2 小时前
MySQL笔记
数据库·笔记·mysql
苹果醋33 小时前
Deep Dive React 4 How does React State actually work
java·运维·spring boot·mysql·nginx
Ai财富密码3 小时前
【Python爬虫】正则表达式入门及在数据提取中的高效应用
数据库·mysql·php
tq10865 小时前
MySQL definer does not exist 问题分析
mysql
叁沐7 小时前
MySQL 25 MySQL是怎么保证高可用的?
mysql
惊骇世俗王某人13 小时前
MySQL数据库索引及底层数据结构
数据结构·数据库·mysql
神仙别闹20 小时前
基于Python+Vue+Mysql实现(物联网)智能大棚
vue.js·物联网·mysql
花途Jasmine20 小时前
MySQL中的DDL(一)
数据库·mysql
五岁小孩吖1 天前
Mysql 如何使用 binlog 日志回滚操作失误的数据
mysql
Runing_WoNiu1 天前
最佳左前缀法则(Optimal Left-Prefix Rule)
数据库·mysql