如何在mysql中配置数据文件权限

来源:这里教程网 时间:2026-02-28 20:15:56 作者:

在 MySQL 中配置数据文件权限的核心是确保数据库文件只能被授权用户和进程访问,防止未授权读写。重点在于操作系统层面的文件权限设置与 MySQL 服务运行账户的合理配置。

确认 MySQL 运行用户

MySQL 服务通常以特定系统用户运行(如 mysql),该用户需要对数据目录有完整访问权限。

查看当前 MySQL 进程运行用户:
ps aux | grep mysqld
找到类似
mysql    1234  ... mysqld
的行,确认用户名为 mysql 或其他指定用户

确保数据目录归属正确:

chown -R mysql:mysql /var/lib/mysql
(路径根据实际调整)
这保证 MySQL 用户拥有读写权限

设置数据目录权限

数据目录和文件不应开放给其他用户访问,避免信息泄露或篡改。

目录权限建议设为 750
chmod -R 750 /var/lib/mysql
关键文件如 ibdata1、.frm、.ibd 等应为 640
find /var/lib/mysql -type f -exec chmod 640 {} \;
确保上级目录(如 /var/lib)也限制访问,防止遍历

保护配置文件与日志文件

除了数据文件,配置文件(my.cnf)和日志文件(如 error log、slow log)也需权限控制。

配置文件权限设为 640:
chmod 640 /etc/my.cnf
属主改为 mysql 用户:
chown root:mysql /etc/my.cnf
日志文件同样设置为 640 并归属 mysql 用户

启用安全加固选项

MySQL 自身配置也能增强文件安全。

在 my.cnf 中添加:
innodb_data_home_dir
datadir
明确路径
使用
secure_file_priv
限制 LOAD DATA 和 SELECT ... INTO OUTFILE 的路径
设置
secure_file_priv=/tmp
可减少风险暴露

基本上就这些。关键是操作系统权限与 MySQL 配置协同,保持最小权限原则,定期检查文件归属和模式是否被意外更改。

相关推荐