Linux 服务器重启之后数据库 Caused by: java.sql.SQLException: Can‘t find file: ‘./tests/sys_log.frm‘
·
Caused by: java.sql.SQLException: Can't find file: './tests/sys_log.frm' (errno: 13 - Permission denied)
解决方法:
1. 确认文件和目录是否存在
首先检查数据库目录和文件是否存在(默认 MySQL 数据目录通常在 /var/lib/mysql/ 或配置文件中指定的路径):
# 进入 MySQL 数据目录(需替换为实际路径,可通过 MySQL 配置文件 my.cnf 中的 datadir 查看)
cd /var/lib/mysql/
# 检查 dahongqian 数据库目录是否存在
ls -ld dahongqian
# 检查 sys_log.frm 文件是否存在
ls -l dahongqian/sys_log.frm
2. 修复文件和目录的权限
MySQL 数据目录及下属文件必须让 MySQL 进程有权访问,通常需要:
- 所有者为
mysql用户(或 MySQL 运行的用户)。 - 权限至少为
755(目录)和644(文件)。
执行以下命令修复权限(需根据实际路径和用户调整):
bash
# 假设 MySQL 数据目录为 /var/lib/mysql,运行用户为 mysql
sudo chown -R mysql:mysql /var/lib/mysql/tests # 递归修改目录所有者为 mysql
sudo chmod -R 755 /var/lib/mysql/tests# 目录权限(确保可进入和读取)
sudo chmod 644 /var/lib/mysql/tests/sys_log.frm # 文件权限(确保可读取)
调整之后就可以了
更多推荐


所有评论(0)