Linux Mint下MySQL在动态挂载NTFS磁盘启动时权限被拒求助
问题原因与解决办法
核心原因
NTFS是Windows专属文件系统,完全不支持Linux的用户/组权限模型。你通过ldmtool挂载动态磁盘后,Linux只是以“模拟权限”的方式展示NTFS内容,chown、chmod这类修改权限的命令根本不会写入NTFS的元数据——也就是说你做的权限修改全是无效的,这就是为什么无论怎么调整都报Permission denied的原因。
解决步骤
1. 卸载当前挂载的NTFS分区
执行命令卸载:
umount /media/ffx/Data
如果提示分区忙,可先用lsof /media/ffx/Data找出占用进程并终止,或重启系统后再执行卸载。
2. 配置fstab,挂载时指定MySQL用户的UID/GID
- 先查询mysql用户的UID和GID:
id mysql
输出示例:uid=112(mysql) gid=118(mysql),记录这两个数字。
- 编辑
/etc/fstab文件,添加或修改NTFS分区的挂载规则:
UUID=你的NTFS分区UUID /media/ffx/Data ntfs-3g uid=112,gid=118,defaults 0 0
注:
- 用
blkid命令可查询NTFS分区的UUID,避免重启后设备名变化导致挂载失败;- 如果不知道动态磁盘的设备路径,可用
lsblk命令查看。
3. 重新挂载分区
执行命令让fstab配置生效:
mount -a
此时NTFS分区内的所有内容会被强制映射为mysql用户所有,权限符合Linux的访问要求。
4. 初始化并启动MySQL
如果数据目录还未初始化,执行:
mysqld --initialize --datadir=/media/ffx/Data/MySQLDB --user=mysql
初始化完成后,查看日志获取临时密码,再启动MySQL服务:
systemctl start mysql
注意事项
- 确保系统已安装
ntfs-3g,Linux Mint 21默认预装,若没有可执行apt install ntfs-3g安装; - 不要设置777权限,既不安全也无法解决NTFS的权限映射问题;
- 动态磁盘通过ldmtool处理后,建议始终用UUID挂载,避免设备名变动导致挂载失效。
内容的提问来源于stack exchange,提问作者re.fx.2383421
相关产品推荐
相关产品推荐

