You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL 8.0.11.0数据目录迁移至其他磁盘问题咨询

MySQL 8.0.11 迁移数据目录至其他磁盘的正确步骤

我帮你梳理下MySQL 8.0迁移数据目录的正确操作,毕竟8.0在权限管控和服务配置上和5.X/5.7有不少差异,之前的老方法失效很正常。按下面的步骤来,应该能解决权限拒绝和服务启动失败的问题:

  • 第一步:停止MySQL服务(必须用管理员权限操作)
    打开管理员身份的命令提示符(CMD)或PowerShell,先确认你的MySQL服务名(默认是MySQL80,不确定的话可以去「服务」里看,或者执行sc query | findstr MySQL查找),然后执行命令:

    net stop MySQL80
    

    等待服务完全停止后再进行下一步。

  • 第二步:复制数据目录到目标磁盘
    不要直接「移动」原数据目录(C盘默认路径一般是C:\ProgramData\MySQL\MySQL Server 8.0\Data),而是用管理员权限把整个Data文件夹复制到你想要的位置,比如D:\MySQLData。直接移动容易丢失文件权限,复制更安全,后续验证没问题再删除原文件。

  • 第三步:修改MySQL配置文件my.ini
    MySQL 8.0的my.ini默认藏在隐藏文件夹C:\ProgramData\MySQL\MySQL Server 8.0里(要先显示隐藏文件才能看到)。打开文件找到以下两个关键配置项,修改为新的路径:

    datadir=D:/MySQLData  # 注意用斜杠/或者双反斜杠\\,不要用单反斜杠
    secure_file_priv=D:/MySQLData/Uploads  # 如果有这个项的话,同步修改路径
    

    保存并关闭文件。

  • 第四步:给新数据目录设置正确的NTFS权限(重中之重)
    MySQL 8.0的服务默认使用NT SERVICE\MySQL80这个系统账号运行,必须给新的D:\MySQLData文件夹赋予该账号完全控制权限,否则启动服务会报权限拒绝:

    1. 右键D:\MySQLData文件夹 → 「属性」→ 「安全」选项卡 → 点击「编辑」
    2. 点击「添加」,输入NT SERVICE\MySQL80,然后点击「检查名称」,系统会自动识别这个账号,点击「确定」
    3. 在权限列表里找到NT SERVICE\MySQL80,勾选「完全控制」的「允许」选项,点击「应用」→「确定」
  • 第五步:启动MySQL服务并验证
    回到管理员命令行,执行启动命令:

    net start MySQL80
    

    如果服务成功启动,登录MySQL执行show databases;确认所有数据都在。如果启动失败,去新数据目录里找你的主机名.err日志文件,或者在Windows事件查看器里查找MySQL的错误信息,根据提示排查(大多还是权限问题)。

  • 最后一步(可选)
    确认数据正常、服务稳定后,再删除C盘原来的Data目录,完成迁移。


内容的提问来源于stack exchange,提问作者user3906278

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:47:25