windows下 mysql 转移data目录
?
昨天遇到一個現(xiàn)場問題,實施人員把mysql的data放在C盤,用過一陣以后C盤快滿了。
于是準備做數(shù)據(jù)遷移,想到如下幾種方案(均需要先把mysql服務停掉):
1.轉(zhuǎn)儲SQL文件
但是問題是,想要遷移的庫占了1.5T,是T啊,不是G,光生成SQL文件就需要N多天了,還不說這種方式對于大容量庫容易出問題,果斷放棄
2.使用軟鏈接
還想到一個方式是軟鏈接:把data復制到別的盤,C盤的data注釋掉(原文件最好先別刪),然后C盤原路徑下使用一個名為data的軟鏈接mklink到剛才轉(zhuǎn)移到其他盤符的data上,mysql.ini配置里的路徑保持不變(就是用了一個名字和原名稱data一樣的影子指到了別的盤,數(shù)據(jù)存儲在其他盤,但是路徑仍在C盤,點開C盤的data,上方的路徑顯示為C盤路徑,不像快捷方式那樣:點擊快捷方式后跳轉(zhuǎn)到目標位置,路徑也變成別的盤符)。
理論上再啟動mysql就ok了,然鵝呢,重啟數(shù)據(jù)庫失敗,error1067,查了N多個1067的解決方案,均無果。放棄!
(此方式其實可以使用,后文再說)
3.遷移data文件夾,更改mysql.ini路徑
步驟:1)拷貝data文件夾到其他盤符
??????????2)更改my.ini中datadir的路徑為新data路徑(不用將路徑中的\改成/)
??????????3)重啟mysql
咦???還是error1067!!!
后來發(fā)現(xiàn)一個帖子說道:需要把新data目錄下除了文件夾以外的其余文件全部刪掉,然后把mysql的服務屬性中的登錄身份改成本地:
?
重啟mysql服務,咦,竟然起來了!
然鵝,使用時發(fā)現(xiàn),打開表的時候提示該表丟失???什么鬼???
又多方查找,發(fā)現(xiàn)新data目錄下的ibdata1文件不能刪,把原data下的ibdata1拷貝到新data下,重啟mysql,成功!完美!
?
咦?是不是想到了什么?對!第二種方法中也是error1067,是不是同樣的問題呢?
照著第三種方案試一下:刪掉除了ibdata1以外的文件,更改mysql登錄屬性,重啟,成功!
當初看帖子時,以及老員工說不要隨便更改路徑,容易出問題,于是才先想的第二種方案。現(xiàn)在看來,并沒有什么大的影響。
------------------------
好,問題解決,以下詳細介紹步驟:
方案2、3均需要的步驟:
1)先停止mysql服務
2)拷貝C:\ProgramData\MySQL\MySQL Server 5.6\路徑下的data文件夾到其他盤符,比如放到D:\mysqldata\下
3)新data目錄下除了文件夾以及ibdata1這個文件,全部刪掉
4)更改mysql的服務屬性,將登陸身份改成本地(后來發(fā)現(xiàn)這一步不是必須的,如果除了這一步還是不能啟動mysql再改)
方案2、3單獨剩余的單獨步驟,:
方案2:
回到舊的data目錄上一層C:\ProgramData\MySQL\MySQL Server 5.6\,data文件夾改個名字(不改名字不能創(chuàng)建同名的軟鏈接),然后在此處打開命令行(按住shift點擊右鍵),輸入:mklink /D data "D:\mysqldata\data\"即可,然后重啟mysql
方案3:
更改C:\ProgramData\MySQL\MySQL Server 5.6\下my.ini中datadir路徑為新data路徑
重啟mysql
-------------------------------------
終極方案
出現(xiàn)這種情況的根本原因在于安裝mysql時沒有出現(xiàn)更改data路徑的頁面(本人使用的是mysql5.6,安裝時選的server only),這就很尷尬了啊,那么怎么辦呢,卸掉重裝!
然后你會發(fā)現(xiàn),咦?為什么這次可以修改data路徑了?別問為什么了,趕緊選個最大的盤放data吧!
————————————————
版權聲明:本文為CSDN博主「小西幾zzZ」的原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/a123gsfd/article/details/79999838
?
總結(jié)
以上是生活随笔為你收集整理的windows下 mysql 转移data目录的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c# winform 打包(带数据库安装
- 下一篇: limit实现原理 mysql_值得一生