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


    省流:

    挂载的话,使用 /etc/fstab

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

     

    正文: 

    在企业中,服务器重启,有时候会遇到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配置文件大致内容如下:

    1. # mysql路径
    2. basedir=/sata09/data/mysql
    3. # mysql存数据的路径
    4. 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

    1. mount /prd/ssd/ssd01 /ssd01
    2. mount /prd/sata/sata01 /sata01

    详细日志如下: 

    1. Oct 17 02:50:32 ali5messrv1 mysqld: mysqld: Can`t change dir to '/sata09/data/mysql/' (Errcode: 2 - No such file or directory)
    2. 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).
    3. 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
    4. 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 ...
    5. 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.
    6. 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
    7. 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
    8. Oct 17 02:50:32 ali5messrv1 mysqld: 2023-10-16T18:50:32.060990Z 0 [ERROR] failed to set datadir to /sata09/data/mysql/
    9. Oct 17 02:50:32 ali5messrv1 mysqld: 2023-10-16T18:50:32.060998Z 0 [ERROR] Aborting
    10. Oct 17 02:50:32 ali5messrv1 systemd[1]: Starting MySQL Server...
    11. Oct 17 02:50:32 ali5messrv1 mysqld_pre_systemd[2476]: mysqld: Can't create directory '/sata09/data/mysql/' (Errcode: 2 - No s...tory)
    12. Oct 17 02:50:32 ali5messrv1 mysqld_pre_systemd[2476]: 2023-10-16T18:50:32.867006Z 0 [Warning] TIMESTAMP with implicit DEFAULT...ils).
    13. 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.
    14. Oct 17 02:50:32 ali5messrv1 mysqld_pre_systemd[2476]: 2023-10-16T18:50:32.867941Z 0 [ERROR] Aborting
    15. 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.

  • 相关阅读:
    vite-element-plus
    【自定义类实现对象的拷贝 Objective-C语言】
    解决终端自暂停的问题 关闭快速编辑模式 python代码暂停
    APOLLO UDACITY自动驾驶课程笔记——规划、控制
    《爬虫逆向进阶实战》书籍介绍
    Linux安装Ansible管理工具
    VsCode连接远程服务器并修改文件代码
    分享股票量化交易程序化模型的设计思路
    微信小程序引入Vant插件
    clickhouse 如何使用SQL 管理用户和角色
  • 原文地址:https://blog.csdn.net/u011149152/article/details/133908850