Windows端MySQLdata⽬录迁移(亲测可⽤)
昨天遇到⼀个现场问题,实施⼈员把mysql的data放在C盘,⽤过⼀阵以后C盘快满了。
于是准备做数据迁移,想到如下⼏种⽅案(均需要先把mysql服务停掉):
1.转储SQL⽂件
但是问题是,想要迁移的库占了1.5T,是T啊,不是G,光⽣成SQL⽂件就需要N多天了,还不说这种⽅式对于⼤容量库容易出问题,果断放弃
2.使⽤软链接
还想到⼀个⽅式是软链接:把data复制到别的盘,C盘的data注释掉(原⽂件最好先别删),然后C盘原路径下使⽤⼀个名为data的软链接mklink到刚才转移到其他盘符的data上,mysql.ini配置⾥的路径保持不变(就是⽤了⼀个名字和原名称data⼀样的影⼦指到了别的盘,数据存储在其他盘,但是路径仍在C盘,点开C盘的data,上⽅的路径显⽰为C盘路径,不像快捷⽅式那样:点击快捷⽅式后跳转到⽬标位置,路径也变成别的盘符)。
理论上再启动mysql就ok了,然鹅呢,重启数据库失败,error1067,查了N多个1067的解决⽅案,均⽆果。放弃!
(此⽅式其实可以使⽤,后⽂再说)
3.迁移data⽂件夹,更改mysql.ini路径
步骤:1)拷贝data⽂件夹到其他盘符
2)更改my.ini中datadir的路径为新data路径(不⽤将路径中的\改成/)
3)重启mysql
咦还是error1067!!!
后来发现⼀个帖⼦说道:需要把新data⽬录下除了⽂件夹以外的其余⽂件全部删掉,然后把mysql的服务属性中的登录⾝份改成本地:
重启mysql服务,咦,竟然起来了!
然鹅,使⽤时发现,打开表的时候提⽰该表丢失什么⿁
⼜多⽅查,发现新data⽬录下的ibdata1⽂件不能删,把原data下的ibdata1拷贝到新data下,重启mysql,成功!完美!
咦?是不是想到了什么?对!第⼆种⽅法中也是error1067,是不是同样的问题呢?
照着第三种⽅案试⼀下:删掉除了ibdata1以外的⽂件,更改mysql登录属性,重启,成功!
当初看帖⼦时,以及⽼员⼯说不要随便更改路径,容易出问题,于是才先想的第⼆种⽅案。现在看来,并没有什么⼤的影响。
------------------------
好,问题解决,以下详细介绍步骤:
⽅案2、3均需要的步骤:
1)先停⽌mysql服务
2)拷贝C:\ProgramData\MySQL\MySQL Server 5.6\路径下的data⽂件夹到其他盘符,⽐如放到D:\mysqldata\下
3)新data⽬录下除了⽂件夹以及ibdata1这个⽂件,全部删掉
4)更改mysql的服务属性,将登陆⾝份改成本地(后来发现这⼀步不是必须的,如果除了这⼀步还是
不能启动mysql再改)
⽅案2、3单独剩余的单独步骤,:
⽅案2:
回到旧的data⽬录上⼀层C:\ProgramData\MySQL\MySQL Server 5.6\,data⽂件夹改个名字(不改名字不能创建同名的软链接),然后在此处打开命令⾏(按住shift点击右键),输⼊:mklink /D data "D:\mysqldata\data\"即可,然后重启mysql
⽅案3:
更改C:\ProgramData\MySQL\MySQL Server 5.6\下my.ini中datadir路径为新data路径
重启mysql
-------------------------------------
mysql下载下来是一个文件夹终极⽅案
出现这种情况的根本原因在于安装mysql时没有出现更改data路径的页⾯(本⼈使⽤的是mysql5.6,安
装时选的server only),这就很尴尬了啊,那么怎么办呢,卸掉重装!
然后你会发现,咦?为什么这次可以修改data路径了?别问为什么了,赶紧选个最⼤的盘放data吧!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。