停掉MySQL服务:
windows services 中的MySQL服务,停止。
建立新的数据文件目录:
也即你现在想要存储的MySQL数据目录,例如:E:\MySQL5.6Data
拷贝数据文件:
将原数据目录下的“数据文件及子目录”拷贝到刚才建立的E:\MySQL5.6Data目录下;注意你的原数据文件目录及数据文件,不要拷贝错了,如果你没怎么修改过原目录的话,原目录的样子应该是“..\ProgrAMData\MySQL\...\data\”,把data目录下的内容拷贝至新目录下。
新数据文件目录授权
这一步很重要,很多同学就因为这部导致无法启动MySQL,只有1067错误。
右键新目录E:\MySQL5.6Data,选择“安全”选项卡,将下面所有的用户及组授予完全控制权限(注意:测试机可以这么做,如果是生产环境,你需要一个一个试,直到不报1067错误为止)。
修改my.ini文件
网上很多文章都说my.ini在MySQL的安装目录下,很多人可能会发现那个位置并没有my.ini文件,只有一个my-default.ini文件,这个文件基本没用。
非安装版的MySQL:my.ini配置文件可能就在这个目录下;
安装版的MySQL:my.ini文件大多数都在你的数据文件目录下,如果不在,你可以在windows服务列表中右键MySQL服务,选择属性,在“常规”选项卡中可以看到可执行文件路径,后面有一个 --defaultFile参数,这个参数后面的值就是你的my.ini文件的路径。
找到my.ini文件后,打开,修改其中的datadir的值为新目录,如E:\MySQL5.6Data;大多数情况下修改这个地方就行了,但为了保证一些“变异”,你可以通过搜索原数据路径关键字(如原来的盘符)来检测是否需改完毕了。
修改完毕后保存,如果你是安装版的MySQL,且my.ini文件就在原数据文件目录下,你还需要做两件事:
1、把修改后的my.ini文件拷贝到MySQL安装目录或者新的数据文件目录下;
2、windows + r 打开“运行”,输入regedit回车打开注册表,HKEY_LOCAL_MACHINE-->SYSTEM-->CurrentControlSet-->services下找到MySQL服务键,然后修改其ImagePath属性值为my.ini文件新的绝对路径。
启动MySQL
在MySQL服务列表中,启动MySQL。