windows下mysql data数据目录迁移经验分享

最初安装mysql服务器,默认的数据存储路径放在C盘(C:\ProgramData\MySQL\MySQL Server 5.7\data)。由于系统盘(C盘)空间很小,数据库使用一段时间就会满,所以最好在安装好数据库之后,将数据存储路径改为存储盘。我的操作系统是Windows server 2012 R2,数据库为mysql5.7。

null

数据迁移方案如下:

1.明确mysql的原数据目录在哪里?

1) 使用sql查询数据目录

show global variables like '%datadir%';

(2)在mysql配置文件my.ini中查看datadir。

使用方法(2)查看datadir,还需要先知道mysql启动加载的配置文件是哪个,MySQL的配置文件的读取路径,如何查看读取路径,进入到【服务】窗口,查看MySQL的属性,可以看到如下所示:

图片[1]-windows下mysql data数据目录迁移经验分享-yiteyi-C++库
找到MySQL数据的存储位置

2、关闭mysql服务

右键点击【我的电脑】-》【管理】-》【服务和应用程序】-》【服务】-》关闭MySQL服务

3、将原数据目录迁移到新的目录

将原Data文件夹整个考到新的数据目录下(如:d:/mysql/data),建议把 my.ini 也一并拷过去(我将my.ini也考到了d:/mysql/data下)。(注意:尽量选择复制,不要剪切,以防迁移失败,不便于数据恢复)

4、修改MySQL的配置文件

找到my.ini配置文件(如何找到my.ini,在1.2里提到了),找到其中的datadir,如下:

图片[2]-windows下mysql data数据目录迁移经验分享-yiteyi-C++库

更改my.ini中datadir的路径为新data路径d:/mysql/data(不用将路径中的\改成/)

5、启动Mysql服务

右键点击【我的电脑】-》【管理】-》【服务和应用程序】-》【服务】-》启动MySQL服务

迁移过程可能遇到的问题

问题1:如何迁移my.ini

数据迁移可以将my.ini拷贝到新的目录里,并修改注册表在mysql服务启动时直接调用对应的my.ini,再启动mysql。

windows + r 打开“运行”,输入regedit回车打开注册表,HKEY_LOCAL_MACHINE–>SYSTEM–>CurrentControlSet–>services,找到MySQL服务键,把 ImagePath 的值改为当前使用的配置文件 my.ini 的绝对路径。

图片[3]-windows下mysql data数据目录迁移经验分享-yiteyi-C++库
如何修改mysql服务的my.ini路径

问题2:启动mysql服务报错:本地计算机上的mysql服务启动停止后,某些服务在未由其他服务或程序使用时将自动停止。

mysql服务安装时,设置的登录账户为network service,更改data目录后,新目录可能没有相应的network serviec权限,导致mysql服务启动失败报错。检查是不是新的MySQL目录没有NETWORK SERVICE权限。正确的权限应该如下:

图片[4]-windows下mysql data数据目录迁移经验分享-yiteyi-C++库

方法一、更改mysql的服务属性,将登陆身份改成本地

图片[5]-windows下mysql data数据目录迁移经验分享-yiteyi-C++库

方法二、修改文件夹的权限

找到新的路径文件夹,右键-》【安全】-【编辑】-》【添加】-》【高级】-》【立即查找】-》选择【NETWORK_SERVICE】
如下图所示:

图片[6]-windows下mysql data数据目录迁移经验分享-yiteyi-C++库
© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容