插件窝 干货文章 linux中mysql数据目录在哪

linux中mysql数据目录在哪

MySQL MariaDB datadir 目录 385    来源:    2025-04-16

在 Linux 系统中,MySQL 的数据目录(datadir)位置取决于安装方式、发行版以及 MySQL 版本(如 MySQL 或 MariaDB)。以下是查找数据目录的几种方法:


1. 通过 MySQL 命令查询

登录 MySQL 后执行以下命令:

SHOW VARIABLES LIKE 'datadir';

输出示例:

+---------------+-----------------+
| Variable_name | Value           |
+---------------+-----------------+
| datadir       | /var/lib/mysql/ |
+---------------+-----------------+

2. 通过配置文件查找

MySQL 的主配置文件通常是 my.cnfmy.ini,路径可能包括: - /etc/my.cnf - /etc/mysql/my.cnf - /usr/etc/my.cnf - ~/.my.cnf - MariaDB 可能使用 /etc/mysql/mariadb.cnf

使用 grep 快速查找:

sudo grep -i "datadir" /etc/my.cnf /etc/mysql/my.cnf /etc/mysql/mariadb.cnf 2>/dev/null

3. 通过进程信息查找

如果 MySQL 正在运行,可以通过进程参数找到数据目录:

ps aux | grep mysql | grep -oP "datadir=\K[^ ]+"  # 或
sudo cat /proc/$(pgrep mysqld | head -1)/cmdline | tr '\0' '\n' | grep datadir

4. 默认数据目录路径

常见发行版的默认路径: - Debian/Ubuntu: - MySQL: /var/lib/mysql/ - MariaDB: /var/lib/mysql/ - RHEL/CentOS: - MySQL: /var/lib/mysql/ - MariaDB: /var/lib/mysql/ - Docker 容器: - 通常为 /var/lib/mysql,具体需检查容器配置。


注意事项

  • 需要 sudo 权限访问某些配置文件或目录。
  • 修改数据目录需更新配置并确保权限正确(用户 mysqlmariadb 需有读写权限)。
  • 使用 ls -l /var/lib/mysql 确认文件所有权。

如果有其他环境细节(如 Docker、自定义编译安装),可进一步针对性排查。