最近在弄一个项目,需要修改windows下面的mysql的数据目录(mysql默认是存储在C盘的,这个不太好,未来一定会满了的)。
我的 mysql 是安装版,版本是 5.7。
1.首先,需要知道mysql的原数据目录在哪里:
-- 使用sql查询数据目录
show global variables like '%datadir%';
另外还有一个办法,就是通过服务去查看:
计算机-->管理-->服务和应用程序-->找到mysql服务,右键属性,找到my.ini文件(如下图),打开那个文件,查找“datadir”,就是对应的数据目录。
2.数据迁移
数据迁移先要关闭mysql服务,然后创建新的data目录,把数据文件拷贝到新目录里面,建议把 my.ini 也一并拷过去。
需要注意:新目录的权限需要设置一下,右键新目录,属性-->安全,将下面所有的用户及组授予完全控制权限(测试环境),生产环境可能需要考量一下权限问题。
如果权限设置不对,可能会出现1067错误。
拷过去的 my.ini 文件需要改一下 datadir 值。
3.修改注册表
windows + r 打开“运行”,输入regedit回车打开注册表,HKEY_LOCAL_MACHINE-->SYSTEM-->CurrentControlSet-->services,找到MySQL服务键,把 ImagePath 后面的 --defaults-file= 后面改成新的 my.ini 绝对路径。
4.重启mysql服务