mysql数据库将数据文件夹迁移后,服务启动失败,问题解决笔记
C盘要满了,MYSQL的数据文件体积不小,想着挪到其他磁盘,找了某些资料照着一顿猛操作,结果重启服务时直接报错了,汗,又一顿找一顿实验,将最终的可用步骤总结如下:
背景:数据库版本mysql 8.0.26,mysql workbench:8.0.26
工具:notepad++
操作系统:win7
1.关于数据文件的迁移
将默认路径下的Data文件夹复制走即可。
源文件路径:
C:\ProgramData\MySQL\MySQL Server 8.0\Data
新路径(如):
D:\MySQL Data\Data
2.关于进程的启动与暂停
经过本人实践,复制数据时,只要没有进行数据读写操作,实际上不需要停MYSQL80服务。
3.关于my.ini
本文件位于:C:\ProgramData\MySQL\MySQL Server 8.0
文件中有两处需要注意:
一是新的数据存放位置需要修改,二是根据需要可以同步修改数据导入安全路径。其中,第二点非必须操作。
我的操作,将datadir=C:/ProgramData/MySQL/MySQL Server 8.0\Data
修改为:datadir=D:\MySQL Data\Data
注意此处的斜杠方向,部分教程说的斜杠方向,在我的实践中,不好使。
安全路径也顺手改了,原参数:
secure-file-priv=“C:/ProgramData/MySQL/MySQL Server 8.0/Uploads”
改为:
secure-file-priv=“D:\MySQL Data\Uploads”
4.进程重启的关键一步,NETWORK SERVICE权限设置!
当前版本下,不设置这个权限给新的路径,服务启动不起来。具体设置方法如下:
找到新的路径文件夹,右键->【安全】-【编辑】->【添加】->【高级】->【立即查找】->选择【NETWORK_SERVICE】
一路确认下去,再给这个服务完整的文件读写权限(完全控制)。