因公司项目数据库表太大超过了百万行,需要做数据位置迁移。迁移后mysql服务无法启动。百度了很久,试了好几种方法都不行,最后Google一下,一下子找到了原因,因为迁移后的文件夹权限不足。 

 

迁移过程:

  1. 暂停mysql服务。
  2. 创建要迁移目的地的文件夹。例如:D:\MySqlData\Data。
  3. 找到mysql默认存储数据位置:C:\ProgramData\MySQL\MySQL Server 5.7\Data目录。注意是C:\ProgramData并非C:\Program Files。
  4. 拷贝目录下的所有文件到目标文件夹D:\MySqlData\Data。 可以讲Data文件夹复制覆盖。
  5. 到C:\ProgramData\MySQL\MySQL Server 5.7下修改my.ini文件中的datadir。复制到下一行,讲复制的datadir将后面的值修改为:”D:/MySqlData/Data”。需要加”号,需要注意是 “/”并非“\”。 注释掉原来的#datadir
  6. 打开C:\ProgramData\MySQL\MySQL Server 5.7的属性中的安全选项,查看访问权限都有哪些用户或者组,根据访问权限,把D:\MySqlData目录和它设置成一模一样,并且获取最高控制权。点击编辑、新增(我就是在D:\MySqlData中少了一个NETWORK SERVICE的访问权限,所以一直启动服务失败)。

    

 启动MySql57服务,亲测成功

更多推荐