本文目錄一覽:
MySQL全備份如何只恢復一個庫或者一個表
你好!
這個問題不是MYSQL資料庫方面的問題,而是如何從一個文本文件中取出需要的部分內容的問題。 從資料庫角度來說,沒有什麼好辦法,可以使用操作系統中的文本編輯處理工具來實現。例如,如果不是太大,幾百M可以用editplus,ultraedit等編輯工具打開找你需要sql拷貝出來導入。
如果是linux/unix,可參考如下方法:
1.使用 awk:
可以先到原資料庫中使用 ‘show tables;’ 查看資料庫表的列表,注意,此列表已經按照字母排序,例如:
table1
table2
table3
然後使用awk 來過濾sql語句,假設你要恢復 table2 表,可以使用下面的語句:
awk 『/^– Table structure for table .table2./,/^– Table structure for table .table3./{print}』 mydumpfile.sql /tmp/recovered_table.sql
2.使用sed:
與上面類似,假設你要恢復 table2 表,可以使用下面的語句:
cat mydumpfile.sql | sed -n -e ‘/Table structure for table .test1./,/Table structure for table .test2./p’ /tmp/extracted_table.sql
怎麼恢復mysql資料庫
簡單情況下:進入原來mysql安裝路徑下的data文件夾下,找到相應的庫和ibdata1,進行copy,就可回復原來的數據。
複雜情況下:
從另一台機上把mysql資料庫的mysql文件夾拷貝到本地機上,目的是恢複本地機對數據的訪問和操作。經過如下幾種情況的操作。
1.
在本地重裝mysql(安裝目錄d:\program
files\mysql\mysql
server
5.0),直接把mysql文件夾拷貝至d:\program
files\mysql\mysql
server
5.0\。結果,失敗:資料庫連接錯誤。
2.
卸載後重裝mysql,將d:\program
files\mysql\mysql
server
5.0\下的數據備份,只把mysql\data文件夾全部內容拷貝到d:\program
files\mysql\mysql
server
5.0\data下。結果,失敗:資料庫連接錯誤。將備份的數據還完覆蓋。結果,失敗,還是連接不上資料庫。
3.
卸載後重裝mysql,將mysql\data文件夾里的cf1,last文件夾(這兩個是原來mysql里的資料庫)拷貝進d:\program
files\mysql\mysql
server
5.0\data。連接成功,在navicat
for
mysql里看到資料庫cf1和last,但是不能訪問,因為數據全為零。明白了原來data里以資料庫命名的文件存儲的是資料庫的表結構,不是元數據。下一步,把data文件夾里的ibdata1文件(3.4g大,明顯存儲了元數據)拷貝到d:\program
files\mysql\mysql
server
5.0\data里,代替原來的ibdata1文件。重啟電腦,打開navicat
for
mysql,連接成功,數據可以訪問操作。
至此,操作終於成功。其實當初在那台機上把數據導出來,而不是現在直接把文件夾mysql複製過來會更容易恢復。但那台機已經重裝了系統,也就是說mysql失效了。
mysql 某個資料庫被刪除怎麼恢復
mysql 某個資料庫被刪除怎麼恢復
1 找個別的機器安裝個同版本的mysql或從已安裝同版本的其他機器上(非同版本的也可以試下):
拷貝 mysql/data/mysql 目錄到你的mysql/data/ 下吧
2 試著啟動mysql服務,如果能啟動了,理論上應該丟失的只有用戶、授權等一些系統信息,不影響你的使用的數據;
如果不能啟動,看錯誤日誌,爭取啟動了。
3 趕緊把數據備份一份出來,重新把所有庫(只是你後來創建的業務相關的庫,不包括mysql庫)都刪了,重新導入一遍。理論上不這樣也可以,但只是非生產重要的環境下。
4 重新做用戶授權。
怎麼恢復mysql資料庫怎麼恢複數據
簡單情況下:進入原來mysql安裝路徑下的data文件夾下,找到相應的庫和ibdata1,進行copy,就可回復原來的數據。
複雜情況下:
從另一台機上把MySQL資料庫的mysql文件夾拷貝到本地機上,目的是恢複本地機對數據的訪問和操作。經過如下幾種情況的操作。
1. 在本地重裝MySQL(安裝目錄D:\Program Files\MySQL\MySQL Server 5.0),直接把mysql文件夾拷貝至D:\Program Files\MySQL\MySQL Server 5.0\。結果,失敗:資料庫連接錯誤。
2. 卸載後重裝MySQL,將D:\Program Files\MySQL\MySQL Server 5.0\下的數據備份,只把mysql\data文件夾全部內容拷貝到D:\Program Files\MySQL\MySQL Server 5.0\data下。結果,失敗:資料庫連接錯誤。將備份的數據還完覆蓋。結果,失敗,還是連接不上資料庫。
3. 卸載後重裝MySQL,將mysql\data文件夾里的cf1,last文件夾(這兩個是原來MySQL里的資料庫)拷貝進D:\Program Files\MySQL\MySQL Server 5.0\data。連接成功,在Navicat for MySQL里看到資料庫cf1和last,但是不能訪問,因為數據全為零。明白了原來data里以資料庫命名的文件存儲的是資料庫的表結構,不是元數據。下一步,把data文件夾里的ibdata1文件(3.4G大,明顯存儲了元數據)拷貝到D:\Program Files\MySQL\MySQL Server 5.0\data里,代替原來的ibdata1文件。重啟電腦,打開Navicat for MySQL,連接成功,數據可以訪問操作。
至此,操作終於成功。其實當初在那台機上把數據導出來,而不是現在直接把文件夾mysql複製過來會更容易恢復。但那台機已經重裝了系統,也就是說MySQL失效了。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/280885.html