修改my.cnf的datadir需先停服务再用rsync迁移数据并更新配置Linux需处理SELinux/AppArmor策略Windows还需重注册MySQL服务。修改 my.cnf 中的 datadir 配置项MySQL 启动时读取 my.cnfLinux 通常在 /etc/my.cnf 或 /etc/mysql/my.cnfmacOS 可能在 /usr/local/etc/my.cnf中的 datadir 值来定位数据目录。直接修改该路径即可指定新位置[mysqld]datadir /new/path/to/mysql/data注意必须确保 MySQL 进程对新路径有完整读写权限包括父目录且该路径下不能残留旧数据文件否则启动会失败或出现表损坏。迁移已有数据前必须停用 MySQL 服务直接改 datadir 并重启会导致 MySQL 找不到系统表如 mysql.user报错 Cant open the mysql.plugin table 或直接拒绝启动。正确流程是执行 sudo systemctl stop mysql或 brew services stop mysql macOS彻底停止服务用 rsync -av /var/lib/mysql/ /new/path/to/mysql/data/ 完整复制保留权限和符号链接确认新路径下存在 ibdata1、mysql/、performance_schema/ 等关键文件和目录更新 my.cnf 的 datadir再启动服务SELinux 或 AppArmor 会拦截新路径访问Linux 常见坑即使权限设置正确CentOS/RHEL 启用 SELinux、Ubuntu 启用 AppArmor 时MySQL 默认只被允许访问标准路径如 /var/lib/mysql。不处理会卡在启动阶段日志中出现类似 Permission denied 但无明确进程名。 通义听悟 阿里云通义听悟是聚焦音视频内容的工作学习AI助手依托大模型帮助用户记录、整理和分析音视频内容体验用大模型做音视频笔记、整理会议记录。