MySQL57移动数据目录的坑 - 从C盘到D盘

因为c盘将近满了,所以挪出一些空间,打上了MySQL的主意。

基本信息

  • MySQL版本:5.7
  • 系统:Windows 10
  • 服务名称:MySQL57
  • 原始信息:
    • MySQL安装目录:C:\Program Files\MySQL\MySQL Server 5.7
    • MySQL的数据目录:C:\ProgramData\MySQL\MySQL Server 5.7\Data
    • MySQL的配置文件:C:\ProgramData\MySQL\MySQL Server 5.7\my.ini
    • 注意上面的起始目录是不一样的
    • my.ini文件的内容,仅仅贴出这一行准备修改的内容
# Path to the database root
datadir="C:/ProgramData/MySQL/MySQL Server 5.7/Data"
  • 最终完成后:
    • MySQL安装目录:C:\Program Files\MySQL\MySQL Server 5.7
    • MySQL的数据目录:D:\NewPath\MySQL Server 5.7\Data
    • MySQL的配置文件:C:\Program Files\MySQL\MySQL Server 5.7\my.ini
    • my.ini文件的内容,仅仅贴出这一行准备修改的内容
# Path to the database root
datadir="D:/NewPath/MySQL Server 5.7/Data"

操作步骤

  1. 将现有服务停掉: net stop MySQL57
  2. 将c盘数据转移到d盘,同时更新my.ini文件的内容
  3. 将c盘配置文件从一个目录移动另一个目录
  4. 移除旧服务:mysqld --remove MySQL57
  5. 安装新服务:mysqld --install MySQL57 --defaults-file="C:\Program Files\MySQL\MySQL Server 5.7\my.ini"
  6. 启动服务:net start MySQL57

注:以上有人说更改注册表方式更改defaults-file的位置,其实与安装新服务的效果是类似的。

以上每个人可能遇到的坑不一样,记录一下我遇到的坑。

第一坑:配置文件不生效

  • 一开始,我将配置文件一起复制到了d盘,按照网上说的更改注册表,defaults-file路径也改好了,但是不生效,报错如下:
    mysqld: Can't change dir to 'C:\Program Files\MySQL\MySQL Server 5.7\data\' (Errcode: 2 - No such file or directory)
    这个报错很诡异,因为我希望目录改到d盘。
  • 所以,又在网上找到答案,更改my.ini时需要注意文件编码是ANSI,我看了一下,没有问题;
  • 后来,又看到有人用的系统自带的记事本,编码不对,需要notepad++,也按照此方法试一下,仍然不行;
  • 直到有人说,因为配置文件不生效,所以MySQL会按照默认的方式去配置,怀疑上面的报错是配置文件不生效导致,而既然配置文件内容没有问题,那么是否是因为位置的问题,于是,将配置文件从d盘挪到 C:\ProgramData\MySQL\MySQL Server 5.7\my.ini
  • 仍然不行,于是,挪到安装目录下:C:\Program Files\MySQL\MySQL Server 5.7\my.ini,终于出现不一样的报错,说明这个配置文件生效了。

第二坑:上传文件夹目录缺失

  • 这个比较简单,就是如下的报错:mysqld: Can't read dir of 'C:\ProgramData\MySQL\MySQL Server 5.7\Uploads\'
  • 解决方案:加上这个空目录就行了,当时移动时,全部移动到d盘了。

服务启动日志

  • 当上述步骤遇到问题时,服务无法启动,只给简单的信息说无法启动,这个让人抓狂。
  • 用这个命令查看具体报错详情:mysqld --console

虽然不是最完美的方案,但是暂时先这样了。

总结:

  • 使用命令行,即使是Windows,用起来还是挺方便的。
  • 多观察my.ini文件中的没有注释掉的目录路径是否与实际一致。

PS:注意命令行在管理员模式下,非管理员模式下没有试过,另外,这个是针对MySQL5.7的,但是MySQL8.0应该有些是类似的,可以参考。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值