多语言展示
当前在线:1317今日阅读:91今日分享:37

Windows下MySQL数据目录修改

折腾了很久MySQL数据目录移植,网上的说法大同小异,都说修改my.ini数据目录配置,拷贝数据文件就行,然而都失败了!忘记了关键的一不,目录授权,导致MySQL无法启动,报1067错误。我的MySQL版本和Windows版本如下,其他版本也可参考,相信查不了多少。MySQL:5.6.20安装版Windows:Server2008 R2 Enterprise
方法/步骤
1

停掉MySQL服务:windows services 中的MySQL服务,停止。

2

建立新的数据文件目录:也即你现在想要存储的MySQL数据目录,例如:E:\MySQL5.6Data

3

拷贝数据文件:将原数据目录下的“数据文件及子目录”拷贝到刚才建立的E:\MySQL5.6Data目录下;注意你的原数据文件目录及数据文件,不要拷贝错了,如果你没怎么修改过原目录的话,原目录的样子应该是“..\ProgramData\MySQL\...\data\”,把data目录下的内容拷贝至新目录下。

4

新数据文件目录授权这一步很重要,很多同学就因为这部导致无法启动MySQL,只有1067错误。右键新目录E:\MySQL5.6Data,选择“安全”选项卡,将下面所有的用户及组授予完全控制权限(注意:测试机可以这么做,如果是生产环境,你需要一个一个试,直到不报1067错误为止)。

5

修改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文件新的绝对路径。

6

启动MySQL在MySQL服务列表中,启动MySQL。

注意事项
1

生产环境,授权要注意。

2

仅供参考,不对负面后果负任何责任。

推荐信息