MySQL数据目录(datadir)是存储数据库文件的核心路径,调整需谨慎以防服务异常或数据丢失;操作包括确认当前路径、停服备份、复制数据至新目录、修改配置并重启,SELinux环境还需更新安全上下文。
MySQL 数据目录(datadir)是存储数据库文件的核心位置,包括表结构、数据、日志等。调整它通常是为了迁移数据、释放系统盘空间、提升 I/O 性能或统一管理路径。操作本身不难,但必须谨慎,否则会导致 MySQL 无法启动或数据丢失。
登录 MySQL 后执行以下命令查看当前 datadir:
mysql> SHOW VARIABLES LIKE 'datadir';输出类似:
+---------------+-----------------+
| Variable_name | Value |
+---------------+-----------------+
| datadir | /var/lib/mysql/ |
+---------------+-----------------+
这个路径就是你当前的数据存放位置,后续所有操作都以此为基础。
在修改前务必先停服务,再完
整备份原始数据目录:
跳过备份或未完全停止服务就移动文件,极易引发元数据损坏。
假设你想把数据移到 /data/mysql:
编辑 MySQL 主配置文件(常见路径:/etc/my.cnf 或 /etc/mysql/my.cnf):
若启动失败,查看错误日志(默认在 datadir 下的 hostname.err),常见问题包括权限不对、SELinux 限制、配置语法错误或残留 pid 文件。