成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Mysql大數(shù)據(jù)備份及恢復

數(shù)據(jù)庫 MySQL
MySQL備份一般采取全庫備份、日志備份;MySQL出現(xiàn)故障后可以使用全備份和日志備份將數(shù)據(jù)恢復到最后一個二進制日志備份前的任意位置或時間;mysql的二進制日志記錄著該數(shù)據(jù)庫的所有增刪改的操作日志還包括了這些操作的執(zhí)行時間

【引自攀巖人生的博客】MySQL備份一般采取全庫備份、日志備份;MySQL出現(xiàn)故障后可以使用全備份和日志備份將數(shù)據(jù)恢復到最后一個二進制日志備份前的任意位置或時間;mysql的二進制日志記錄著該數(shù)據(jù)庫的所有增刪改的操作日志還包括了這些操作的執(zhí)行時間

Binlog的用途:主從同步、恢復數(shù)據(jù)庫

使用binlog工具備份

查看binlog是否開啟,因為默認是關閉的

 

從上圖可知off為關閉狀態(tài),一般logbin為只讀,在/etc/my.cnf下開啟

 

重啟數(shù)據(jù)庫

 

重啟后在目錄下查看是否生成bin日志,黃色表示為日志

創(chuàng)建數(shù)據(jù)庫,表,數(shù)據(jù)

 

創(chuàng)建表的時候 auto_increment為自增

重新開始一個新的日志文件

flush logs; #重新生成新的二進制文件

delete from tb1 where id=2; #刪除id列中的序列號為2的數(shù)據(jù)方便測試

insert into tb1(name) values('tom'); #創(chuàng)建一個新的數(shù)據(jù)名為tom

查看數(shù)據(jù)

 

查看mysql上的二進制文件日志

 

查看二進制日志事件

  1. mysql> show binlog events; 
  2.  
  3. +------------------+------+----------------+-----------+-------------+-----------------------------------------------------------------------------------+ 
  4.  
  5. | Log_name         | Pos  | Event_type     | Server_id | End_log_pos | Info                                                                              | 
  6.  
  7. +------------------+------+----------------+-----------+-------------+-----------------------------------------------------------------------------------+ 
  8.  
  9. | mysql-bin.000001 |    4 | Format_desc    |         1 |         123 | Server ver: 5.7.13-log, Binlog ver: 4                                             | 
  10.  
  11. | mysql-bin.000001 |  123 | Previous_gtids |         1 |         154 |                                                                                   | 
  12.  
  13. | mysql-bin.000001 |  154 | Anonymous_Gtid |         1 |         219 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS'                                              | 
  14.  
  15. | mysql-bin.000001 |  219 | Query          |         1 |         316 | create database test1                                                             | 
  16.  
  17. | mysql-bin.000001 |  316 | Anonymous_Gtid |         1 |         381 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS'                                              | 
  18.  
  19. | mysql-bin.000001 |  381 | Query          |         1 |         525 | use `test1`; create table tb1(id int primary key auto_increment,name varchar(20)) | 
  20.  
  21. | mysql-bin.000001 |  525 | Anonymous_Gtid |         1 |         590 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS'                                              | 
  22.  
  23. | mysql-bin.000001 |  590 | Query          |         1 |         663 | BEGIN                                                                             | 
  24.  
  25. | mysql-bin.000001 |  663 | Table_map      |         1 |         713 | table_id: 108 (test1.tb1)                                                         | 
  26.  
  27. | mysql-bin.000001 |  713 | Write_rows     |         1 |         758 | table_id: 108 flags: STMT_END_F                                                   | 
  28.  
  29. | mysql-bin.000001 |  758 | Xid            |         1 |         789 | COMMIT /* xid=10 */                                                               | 
  30.  
  31. | mysql-bin.000001 |  789 | Anonymous_Gtid |         1 |         854 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS'                                              | 
  32.  
  33. | mysql-bin.000001 |  854 | Query          |         1 |         927 | BEGIN                                                                             | 
  34.  
  35. | mysql-bin.000001 |  927 | Table_map      |         1 |         977 | table_id: 108 (test1.tb1)                                                         | 
  36.  
  37. | mysql-bin.000001 |  977 | Write_rows     |         1 |        1026 | table_id: 108 flags: STMT_END_F                                                   | 
  38.  
  39. | mysql-bin.000001 | 1026 | Xid            |         1 |        1057 | COMMIT /* xid=11 */                                                               | 
  40.  
  41. | mysql-bin.000001 | 1057 | Rotate         |         1 |        1104 | mysql-bin.000002;pos=4          | # 此處為日志輪換事件,執(zhí)行flush logs引起的 
  42.  
  43. +------------------+------+----------------+-----------+-------------+-----------------------------------------------------------------------------------+ 
  44.  
  45. 17 rows in set (0.00 sec)  

查看指定二進制日志的事件(上面那個命令只能查看默認1的)

  1. mysql> show binlog events in 'mysql-bin.000002'
  2.  
  3. +------------------+-----+----------------+-----------+-------------+---------------------------------------+ 
  4.  
  5. | Log_name         | Pos | Event_type     | Server_id | End_log_pos | Info                                  | 
  6.  
  7. +------------------+-----+----------------+-----------+-------------+---------------------------------------+ 
  8.  
  9. | mysql-bin.000002 |   4 | Format_desc    |         1 |         123 | Server ver: 5.7.13-log, Binlog ver: 4 | 
  10.  
  11. | mysql-bin.000002 | 123 | Previous_gtids |         1 |         154 |                                       | 
  12.  
  13. | mysql-bin.000002 | 154 | Anonymous_Gtid |         1 |         219 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS'  | 
  14.  
  15. | mysql-bin.000002 | 219 | Query          |         1 |         292 | BEGIN                                 | 
  16.  
  17. | mysql-bin.000002 | 292 | Table_map      |         1 |         342 | table_id: 108 (test1.tb1)             | 
  18.  
  19. | mysql-bin.000002 | 342 | Delete_rows    |         1 |         391 | table_id: 108 flags: STMT_END_F       | 
  20.  
  21. | mysql-bin.000002 | 391 | Xid            |         1 |         422 | COMMIT /* xid=14 */                   | 
  22.  
  23. | mysql-bin.000002 | 422 | Anonymous_Gtid |         1 |         487 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS'  | 
  24.  
  25. | mysql-bin.000002 | 487 | Query          |         1 |         560 | BEGIN                                 | 
  26.  
  27. | mysql-bin.000002 | 560 | Table_map      |         1 |         610 | table_id: 108 (test1.tb1)             | 
  28.  
  29. | mysql-bin.000002 | 610 | Write_rows     |         1 |         654 | table_id: 108 flags: STMT_END_F       | 
  30.  
  31. | mysql-bin.000002 | 654 | Xid            |         1 |         685 | COMMIT /* xid=15 */                   | 
  32.  
  33. +------------------+-----+----------------+-----------+-------------+---------------------------------------+ 
  34.  
  35. 12 rows in set (0.00 sec)  

使用mysqlbinlog工具的-v(--verbose)選項,該選項會將行事件重構成被注釋掉的偽SQL語句,如果想看到更詳細的信息可以將該選項給兩次如-vv,這樣可以包含一些數(shù)據(jù)類型和元信息的注釋內容,如

先切換到binlog所在的目錄下

mysqlbinlog mysql-bin.000001

mysqlbinlog -v mysql-bin.000001

mysqlbinlog -vv mysql-bin.000001

-h,-P,-p,-u等,這些參數(shù)僅在指定了--read-from-remote-server后有效。

恢復導出binlog日志

 

恢復完成后查看表的數(shù)據(jù)是否完整

常見的選項有:

--start-datetime #從二進制日志中讀取指定時間戳或者本地計算機時間之后的日志事件

--stop-datetime #從二進制日志中讀取指定時間戳或者本地計算機時間之前的日志事件

--start-position #從二進制日志中讀取指定position 事件位置作為開始

--stop-position #從二進制日志中讀取指定position 事件位置作為事件截至

 

因為備份得時候把刪除那項跳過了,所以id為2的zhangsan也恢復了

使用mysqldump備份恢復

它是用于備份和數(shù)據(jù)遷移的工具,一般在數(shù)據(jù)量比較小的情況下使用如幾個G,當數(shù)據(jù)比較大的情況下建議不使用;mysqldump可以對單(多)個表、單(多)個數(shù)據(jù)庫及所有數(shù)據(jù)庫進行導出操作;

  1. mysqldump [options] db_name [tbl_name ...] #導出指定數(shù)據(jù)庫或單個表 
  2.  
  3. mysqldump [options] --databases db_name ... #導出多個數(shù)據(jù)庫 
  4.  
  5. mysqldump [options] --all-databases #導出所有  

備份數(shù)據(jù)庫test1

  1. mysqldump -p123456 --flush-logs test1 > /opt/test1.spl 
  2.  
  3. #備份整個數(shù)據(jù)庫,并且重新開啟一個新的binlog 
  4.  
  5. mysql -p123456 test1 </opt/test1.spl #從備份的目錄中導入  

創(chuàng)建數(shù)據(jù)測試mysqldump工具

 

查看數(shù)據(jù)

 

創(chuàng)建備份的目錄及備份數(shù)據(jù)庫和cp bin.000001二進制文件

 

清楚二進制00000.2之前的日志

 

刪除數(shù)據(jù)測試

 

然后在進行備份第二個二進制文件

 

進行數(shù)據(jù)庫恢復

   

  

 

查看表的數(shù)據(jù)是否恢復 

 

上面數(shù)據(jù)已經全部恢復 希望能幫到你 

責任編輯:龐桂玉 來源: 51CTO博客
相關推薦

2017-07-10 16:00:47

Mysql數(shù)據(jù)備份數(shù)據(jù)還原

2017-01-06 08:24:23

備份恢復大數(shù)據(jù)

2010-10-14 10:18:28

MySQL數(shù)據(jù)庫備份

2016-10-19 16:50:43

大數(shù)據(jù)

2010-10-14 09:36:47

MySQL命令行

2016-06-30 10:38:34

大數(shù)據(jù)備份恢復

2009-04-17 11:28:16

Oracle備份恢復

2011-08-02 16:03:47

Oracle數(shù)據(jù)庫冷備份冷備份異地恢復

2016-10-13 09:14:03

大數(shù)據(jù)備份

2018-09-11 10:30:18

MySQL存儲引擎數(shù)據(jù)備份

2010-03-02 09:47:03

Fedora MySQ

2009-11-20 09:29:53

2023-12-07 15:09:23

2025-04-17 03:30:00

MySQL數(shù)據(jù)備份

2018-06-29 08:17:53

2019-02-28 21:20:50

MySQL備份與恢復數(shù)據(jù)庫

2010-09-06 16:02:00

DB2

2016-10-25 15:59:22

大數(shù)據(jù)備份IT周刊

2020-07-23 19:42:12

MySQL備份恢復數(shù)據(jù)庫

2023-01-11 08:05:23

XtraBackupMySQL備份
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久国产精品免费一区二区三区 | 在线国产一区二区 | 久久久精品一区二区三区 | 色.com | 日本黄视频在线观看 | 欧美精品网站 | 日韩精品无码一区二区三区 | 日韩欧美一区二区三区四区 | 亚洲成年在线 | 国产欧美视频一区 | 福利网站导航 | 久久aⅴ乱码一区二区三区 亚洲国产成人精品久久久国产成人一区 | 久草中文在线观看 | 在线中文字幕亚洲 | 日韩精品专区在线影院重磅 | 一区二区在线看 | 国产91在线 | 亚洲 | 日韩av高清在线 | 久久69精品久久久久久国产越南 | 天堂久久天堂综合色 | 国产精品精品久久久 | 欧美激情一区二区 | 91福利电影在线观看 | 欧美精品一区二区在线观看 | 日韩在线精品视频 | 欧美在线国产精品 | 国产高清在线 | 免费黄色片视频 | 水蜜桃久久夜色精品一区 | 美女网站视频免费黄 | 久在线观看 | 毛片a级 | 91成人在线| 欧美九九九 | 欧美不卡一区二区三区 | 日韩黄色免费 | 日韩免费视频一区二区 | 欧美精品三区 | 精品国产一区二区三区观看不卡 | 日韩精品中文字幕一区二区三区 | 中文字幕亚洲区 |