最初安装mysql服务器,默认的数据存储路径放在C盘(C:\ProgramData\MySQL\MySQL Server 5.7\data)。由于系统盘(C盘)空间很小,数据库使用一段时间就会满,所以最好在安装好数据库之后,将数据存储路径改为存储盘。我的操作系统是Windows server 2012 R2,数据库为mysql5.7。
数据迁移方案如下:
1.明确mysql的原数据目录在哪里?
1) 使用sql查询数据目录
show global variables like '%datadir%';
(2)在mysql配置文件my.ini中查看datadir。
使用方法(2)查看datadir,还需要先知道mysql启动加载的配置文件是哪个,MySQL
的配置文件的读取路径,如何查看读取路径,进入到【服务】窗口,查看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++库](https://www.yiteyi.com/wp-content/uploads/2022/03/my-ini-datadir.png)
更改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++库](https://www.yiteyi.com/wp-content/uploads/2022/03/mysql-my-ini-path.png)
问题2:启动mysql服务报错:本地计算机上的mysql服务启动停止后,某些服务在未由其他服务或程序使用时将自动停止。
mysql服务安装时,设置的登录账户为network service,更改data目录后,新目录可能没有相应的network serviec权限,导致mysql服务启动失败报错。检查是不是新的MySQL
目录没有NETWORK SERVICE
权限。正确的权限应该如下:
方法一、更改mysql的服务属性,将登陆身份改成本地
![图片[5]-windows下mysql data数据目录迁移经验分享-yiteyi-C++库](https://www.yiteyi.com/wp-content/uploads/2022/03/image.png)
方法二、修改文件夹的权限
找到新的路径文件夹,右键-》【安全】-【编辑】-》【添加】-》【高级】-》【立即查找】-》选择【NETWORK_SERVICE】
如下图所示:
![图片[6]-windows下mysql data数据目录迁移经验分享-yiteyi-C++库](https://www.yiteyi.com/wp-content/uploads/2022/03/mysql-data-qian-yi-network-quan-xian.png)
暂无评论内容