MySQL--binlog日誌恢復資料
MySQL--binlog日誌恢復資料
恢復資料的重要命令如下
mysql> flush logs; 預設的日誌是mysql-bin.000001,現在重新整理了重新開啟一個就多了一個mysql-bin.000002
./mysqlbinlog --no-defaults binlog日誌名,來檢視日誌
[root@localhost bin]# ./mysqlbinlog --no-defaults ../var/mysql-bin.000001 | more //檢視bin-log日誌的內容
[root@localhost bin]# ./mysqlbinlog --no-defaults ../var/mysql-bin.000001 | ./mysql -uroot -p //恢復mysql-bin.000001日誌的內容
如果需要從某個點恢復到某個點,用以下操作
定位: --start-position 開始點
--stop-position 結束點
--start-date 開始時間
--stop-date 結束時間
現在恢復mysql-bin.000002恢復,從134點開始到386結束
[root@localhost bin]# ./mysqlbinlog --no-defaults --start-position 134 --stop-position=386 ../var/mysql-bin.000002 | ./mysql -uroot -p
/** mysqlbinlog日誌恢復資料實驗 ****/
//檢視一下var下面的內容,現在是沒有mysql-log.000001類似的binlog日誌的
[root@localhost var]# ls
brocms ibdata1 ib_logfile1 localhost.pid mysql-bin.index
brotherblog ib_logfile0 localhost.err mysql test
[root@localhost var]# ../bin/mysql -uroot -p //登入
> use test; //使用test資料庫
mysql> flush logs; //重新整理binlog日誌,新開一個,現在會在var目錄下面生成一個mysql-bin.000001的檔案,以下的操作都會記錄其中
//建立一個表
mysql> create table user(
-> id int auto_increment primary key,
-> username char(30),
-> password char(32))
-> engine=myisam default charset=utf8;
//插入幾條測試資料
mysql> insert into user(username,password) values(1,2);
mysql> insert into user(username,password) values(1,2);
mysql> insert into user(username,password) values(1,2);
//新開一個binlog日誌,現在會生成一個名為mysql-bin.000002的檔案,下面的操作會記錄在mysql-bin.000002的檔案中
mysql> flush logs;
//查詢一下內容
mysql> select * from user;
+----+----------+----------+
| id | username | password |
+----+----------+----------+
| 1 | 1 | 2 |
| 2 | 1 | 2 |
| 3 | 1 | 2 |
+----+----------+----------+
mysql> delete from user; //現在將資料刪除
mysql> drop table user; //將表刪除
mysql> select * from user; //檢視錶裡面的內容
mysql> \q
Bye
[root@localhost var]# ls
brocms ibdata1 ib_logfile1 localhost.pid mysql-bin.000001 mysql-bin.index
brotherblog ib_logfile0 localhost.err mysql mysql-bin.000002 test
[root@localhost var]# ../bin/mysqlbinlog --no-defaults mysql-bin.000001 | more //檢視mysql-bin.000001裡面的內容
[root@localhost var]# ../bin/mysqlbinlog --no-defaults mysql-bin.000002 | more //檢視mysql-bin.000002裡面的內容
[root@localhost var]# ../bin/mysqlbinlog --no-defaults mysql-bin.000001 | ../bin/mysql -uroot -p //用mysql-bin.000001來恢復資料
Enter password:
[root@localhost var]# ../bin/mysql -uroot -p //進資料庫檢視
mysql> use test;
mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| user |
+----------------+
1 row in set (0.00 sec)
mysql> select * from user; //檢視資料,資料回來了
+----+----------+----------+
| id | username | password |
+----+----------+----------+
| 1 | 1 | 2 |
| 2 | 1 | 2 |
| 3 | 1 | 2 |
+----+----------+----------+
3 rows in set (0.00 sec)
mysql> \q
Bye
如果需要從某個點恢復到某個點,用以下操作
定位: --start-position 開始點
--stop-position 結束點
--start-date 開始時間
--stop-date 結束時間
現在恢復mysql-bin.000002恢復,從134點開始到386結束
[root@localhost bin]# ./mysqlbinlog --no-defaults --start-position 134 --stop-position=386 ../var/mysql-bin.000002 | ./mysql -uroot -p
源文件 <>
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29893219/viewspace-1851571/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 利用binlog日誌恢復mysql資料MySql
- MySQL重做日誌恢復資料的流程MySql
- 無歸檔日誌恢復rman資料
- SQL Server無日誌資料庫恢復模式SQLServer資料庫模式
- 恢復重做日誌
- 備份與恢復--從備份的歸檔日誌中恢復資料
- 重做日誌的恢復
- oracle 恢復重做日誌Oracle
- Oracle叢集資料庫中恢復歸檔日誌Oracle資料庫
- Sql server日誌損壞後的資料恢復(轉)SQLServer資料恢復
- oracle歸檔日誌丟失後的資料庫恢復Oracle資料庫
- 利用MySQL日誌模擬恢復資料變化軌跡IIMySql
- 【備份恢復】 恢復重做日誌組成員
- 【恢復】Redo日誌檔案丟失的恢復
- RMAN恢復案例:無恢復目錄,丟失全部資料檔案、控制檔案、日誌檔案恢復
- Mysql之binlog日誌說明及利用binlog日誌恢復資料操作記錄MySql
- 丟失已歸檔日誌檔案下恢復資料庫資料庫
- 兩個日誌組未能歸檔之後恢復資料庫資料庫
- Oracle資料庫恢復:歸檔日誌損壞案例一則Oracle資料庫
- REDO日誌損壞,非歸檔模式資料檔案恢復模式
- SQL Server 2005資料庫日誌丟失的恢復SQLServer資料庫
- oracle日誌挖機 找到scn號 進行資料庫恢復Oracle資料庫
- rman恢復--丟失聯機重做日誌的恢復
- DG歸檔日誌缺失恢復
- 損壞聯機日誌 恢復
- oracle日誌錯誤恢復(轉)Oracle
- 利用日誌挖掘 oracle 不完全恢復 恢復誤刪除的表/資料/檢視等Oracle
- 教你自動恢復MySQL資料庫的日誌檔案(binlog)MySql資料庫
- mysql 誤刪除表內資料,透過binlog日誌恢復MySql
- 丟失當前current重做日誌檔案下恢復資料庫資料庫
- 解決Oracle資料庫日誌檔案丟失恢復問題Oracle資料庫
- 恢復資料,資料塊恢復
- MySQL日誌管理,備份和恢復MySql
- (個人)利用日誌挖掘恢復誤操作
- 恢復模式與事務日誌管理模式
- 【聽海日誌】之ORACLE恢復案例Oracle
- MySQL 日誌管理、備份與恢復MySql
- 【備份恢復】恢復inactive狀態的日誌檔案