遇到一个现场问题,实施人员把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!!!
后来发现一个帖子说道