本文目錄一覽:
MySQL資料庫恢復(InnoDB)
你會備份,不能恢復。真的服你了。
給你二個解決辦法:
第一個辦法:使用這個命令格式
shellmysqladmin
create
資料庫名
-uroot
-p
(資料庫已經存在就不用此步)
shellmysql
-uroot
-p
資料庫名
backup-file.sql
第二個辦法:更詳細的用法在mysql的在線手冊中,已經給你找到備份恢復的頁面了,打看學一下,你們問題就可以肯定搞定了。這是mysql官方中文手冊。
備份恢復的頁面鏈接:
mysql資料庫沒用備份如何恢復
打開mysql的bin log功能:
對於mysql也是支持增量備份,但要打開mysql的bin log功能。
我們修改mysql的配置文件。linux是/etc/my.cnf,windows是mysql的安裝目錄/my.ini
我們在[mysqld]下面加上log-bin一行代碼,如下面。
[mysqld]
log-bin=mysql-bin
複製代碼
加完後重起mysql即可。
某客戶更新數據的時候,誤刪了資料庫的內容,因為資料庫做了主從,但是沒有做備份(備份很重要啊!)幸好開啟了bin-log,之後只好把整個日誌的記錄拿回來本地進行恢復。
之後自己也做了一個簡單的測試,對數據進行恢復,具體如下:
1、新建一個表
CREATE TABLE `lynn`.`sn_test` ( `name` VARCHAR( 10 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL , `age` INT( 3 ) NOT NULL ) ENGINE = MYISAM;
2、插入多條數據
INSERT INTO `lynn`.`sn_test` (`name`, `age`) VALUES (‘lynn1’, ‘1’);
INSERT INTO `lynn`.`sn_test` (`name`, `age`) VALUES (‘lynn2’, ‘2’);
INSERT INTO `lynn`.`sn_test` (`name`, `age`) VALUES (‘lynn3’, ‘3’);
INSERT INTO `lynn`.`sn_test` (`name`, `age`) VALUES (‘lynn4’, ‘4’);
3、查看數據並刪除
mysql select * from sn_test;
+——-+—–+
| name | age |
+———+—+
| lynn1 | 1 |
| lynn2 | 2 |
| lynn3 | 3 |
| lynn4 | 4 |
+———+—–+
4 rows in set (0.00 sec)
mysql delete from sn_test;
Query OK, 4 rows affected (0.00 sec)
mysql select * from sn_test;
Empty set (0.00 sec)
4、mysqlbinlog恢複數據
mysqlbinlog mysql-bin.000006 1.sql
查看1.txt裡面數據插入的紀錄,把刪除之前的數據進行恢復
mysqlbinlog mysql-bin.000006 –start-position=2471 –stop-position=2876 | mysql -uroot -p123
重新登錄,查看數據,OK,已經成功恢復了
對於資料庫操作,應該注意如下問題:
1、要常備份(全備,增量備份),出了問題可以最快恢複數據;
2、操作資料庫前,要把需要操作的資料庫或者表dump出來;
3、需要把bin-log打開,就算沒有做上面的兩步,也可以通過日誌恢複數據
MYSQL資料庫備份恢復
我推薦使用數騰科技的Ocaenbackup for Server備份軟體
1.支持在Windows系統上執行備份和恢復。
2.備份和恢復引擎分開執行。
3.支持備份主流資料庫,支持SQL Server和Oracle等大型資料庫。
4.直接備份操作系統,系統宕機時一鍵恢復。
5.加入鏡像複製技術,高速複製大文件備份,備份更快捷。
6.存儲介質更為豐富,最新加入對於磁帶的支持。
7.高效細緻的備份保存策略,定期清理過期數據,節省存儲空間和提高數據的可使用性。
8.郵件報告、陰影卷複製、外部程序、病毒掃描等更多高級功能支持。
9.支持FTP伺服器備份,加強了Online功能。
10.隱藏式服務開啟,備份更及時。
怎麼恢復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/151232.html