mysql的数据迁移问题:
解决方案:
1.修改my.ini中的数据目录dirpath路径
2.设置新数据文件夹的权限
理论上,mysql的数据目录路径存在.ini文件中,只要修改此文件中的数据目录路径即可
但是在实际操作中,经历过以下操作:
考虑是盘符问题导致的
一、 新旧目录在同一盘符下
改变my.ini中的datadir路径,新目录在同一盘符下(新旧目录都在C盘下,但是目录名称不同),是可以启动的,但是不在同一盘符下mysql服务启动不了
二、 新旧目录不在同一盘符下
简单改变my.ini中的datadir路径,新目录不在同一盘符下(原来data目录在C盘,但由于系统盘空间不够,选择将数据目录修改到D盘)。为了检验目录迁移是否成功,遂先删除.err文件。start服务,会发现在服务启动不了时在新目录下生成新的err文件,说明路径切换的问题没问题。
至此,影响因素——盘符被排除但是仍存在别的问题导致服务无法启动,怀疑是目录的权限问题
对新目录增加everyone的完全控制后,服务成功启动。
三、 方法论:最终能想到是因为权限的问题还是来源于mysql官网的这篇文档,https://dev.mysql.com/doc/refman/8.0/en/multiple-data-directories.html
所以,从官网找答案远比各种论坛可靠,也是解决问题的首选项。
思路来源:
You should check the full control privileges on the new data directory/directories in order to let it access the new locations, otherwise the service won’t start.