欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mysql刪除表數(shù)據(jù)如何恢復

 更新時間:2022年11月09日 16:45:50   作者:黃寶康  
這篇文章主要介紹了mysql刪除表數(shù)據(jù)如何恢復,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

實驗模擬

該實驗必須是mysql開啟了binlog的情況。

binlog日志,即binary log,是二進制日志文件。它有兩個作用,

  • 一是增量備份,即只備份新增的內容;
  • 二是用于主從復制等,即主節(jié)點維護了一個binlog日志文件,從節(jié)點從binlog中同步數(shù)據(jù)。

我們可以通過binlog日志恢復數(shù)據(jù)

查看mysql是否開啟binlog語句

mysql> show variables like 'log_bin';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_bin ? ? ? | OFF ? |
+---------------+-------+
1 row in set (0.01 sec)

如果是OFF,則說明沒有開啟binlog??梢允褂萌缦路椒ㄩ_啟binlog

編輯/etc/my.cnf文件,在文件后面增加如下兩行代碼即可

server-id=1
log-bin=/var/lib/mysql/mysql-bin

server-id表示單個結點的id,這里由于只有一個結點,所以可以把id隨機指定為一個數(shù),這里將id設置成1。若集群中有多個結點,則id不能相同

第二句是指定binlog日志文件的名字為mysql-bin,以及其存儲路徑

重啟讓配置生效。

[root@localhost ~]# systemctl stop mysqld.service
[root@localhost ~]# systemctl start mysqld.service
mysql> show variables like 'log_bin';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_bin ? ? ? | ON ? ?|
+---------------+-------+
1 row in set (0.01 sec)

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

CREATE DATABASE `hbk` ?DEFAULT CHARACTER SET utf8 ;
use hbk;
CREATE TABLE `t_delete_test` (
? `id` int(11) NOT NULL,
? `name` varchar(30) DEFAULT NULL,
? PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

插入相關測試數(shù)據(jù),在這里,我使用客戶端工具插入的,也可以使用手工執(zhí)行insert into語句。

模擬數(shù)據(jù)庫誤刪除操作,把id從1-4的數(shù)據(jù)不小心刪除,只留唐僧師徒4人,然后如何恢復所有數(shù)據(jù)。

mysql> delete from t_delete_test where id<=4;
Query OK, 4 rows affected (0.01 sec)

mysql> commit;
Query OK, 0 rows affected (0.00 sec)

恢復實戰(zhàn)

由于在/etc/my.cnf配置了binlog,這個日志會存儲插入,刪除,修改的日志信息

mysql > show binlog events in 'mysql-bin.000001'\G

在3101的時刻進行了delete操作,從704建表之后的操作開始恢復

[root@localhost mysql]# /usr/bin/mysqlbinlog ?/var/lib/mysql/mysql-bin.000001 --start-position=704 --stop-position=3101 |mysql -uroot -p hbk?

執(zhí)行之后,成功恢復了之前刪除的數(shù)據(jù)。

常用參數(shù)選項解釋

  • --start-position=875 起始pos點
  • --stop-position=954 結束pos點
  • --start-datetime="2016-9-25 22:01:08" 起始時間點
  • --stop-datetime="2019-9-25 22:09:46" 結束時間點
  • --database=zyyshop 指定只恢復zyyshop數(shù)據(jù)庫(一臺主機上往往有多個數(shù)據(jù)庫,只限本地log日志)

不常用選項 

  • -u --user=name 連接到遠程主機的用戶名
  • -p --password[=name] 連接到遠程主機的密碼
  • -h --host=name 從遠程主機上獲取binlog日志
  • --read-from-remote-server 從某個MySQL服務器上讀取binlog日志

a)查詢第一個(最早)的binlog日志:

mysql> show binlog events\G;

b)指定查詢 mysql-bin.000002這個文件:

mysql> show binlog events in 'mysql-bin.000002'\G;

c)指定查詢 mysql-bin.000002這個文件,從pos點:624開始查起:

mysql> show binlog events in 'mysql-bin.000002' from 624\G;

d)指定查詢 mysql-bin.000002這個文件,從pos點:624開始查起,查詢10條(即10條語句)

mysql> show binlog events in 'mysql-bin.000002' from 624 limit 10\G;

e)指定查詢 mysql-bin.000002這個文件,從pos點:624開始查起,偏移2行(即中間跳過2個),查詢10條

mysql> show binlog events in 'mysql-bin.000002' from 624 limit 2,10\G;

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • MySQL系列數(shù)據(jù)庫設計三范式教程示例

    MySQL系列數(shù)據(jù)庫設計三范式教程示例

    這篇文章主要為大家介紹了MySQL系列之數(shù)據(jù)庫設計三范式的教程示例講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2021-10-10
  • 解決mysql報錯ERROR 1049 (42000): Unknown database ‘數(shù)據(jù)庫‘的問題

    解決mysql報錯ERROR 1049 (42000): Unknown dat

    對于錯誤代碼1049(42000):Unknown database ‘數(shù)據(jù)庫‘,這個錯誤通常表示您正在嘗試訪問一個不存在的數(shù)據(jù)庫,本文給出了解決方法,您可以按照文中步驟進行操作,需要的朋友可以參考下
    2024-01-01
  • 區(qū)別于Oracle的MySQL?insert會阻塞update

    區(qū)別于Oracle的MySQL?insert會阻塞update

    這篇文章主要介紹了區(qū)別于Oracle的MySQL?insert會阻塞update的問題解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • MySQL中使用binlog時格式該如何選擇

    MySQL中使用binlog時格式該如何選擇

    這篇文章主要給大家介紹了關于MySQL中使用binlog時格式該如何選擇的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • MySQL內部臨時表的具體使用

    MySQL內部臨時表的具體使用

    MySQL臨時表在很多場景中都會用到,比如用戶自己創(chuàng)建的臨時表用于保存臨時數(shù)據(jù),以及MySQL內部在執(zhí)行復雜SQL時,需要借助臨時表進行分組、排序、去重等操作,本文就來詳細的介紹一下MySQL內部臨時表
    2021-10-10
  • MySQL必備的常見知識點匯總整理

    MySQL必備的常見知識點匯總整理

    這篇文章主要介紹了MySQL必備的常見知識點,結合實例形式匯總整理了mysql各種常見知識點,包括登錄、退出、創(chuàng)建、增刪改查、事務等知識點與操作注意事項,需要的朋友可以參考下
    2020-05-05
  • mysql odbc字符集設置(中文顯示亂碼)

    mysql odbc字符集設置(中文顯示亂碼)

    mysql odbc字符集設置(中文顯示亂碼),碰到這個問題的朋友可以參考下。
    2011-08-08
  • CentOS7環(huán)境下MySQL8常用命令小結

    CentOS7環(huán)境下MySQL8常用命令小結

    在進行MySQL的優(yōu)化之前必須要了解的就是MySQL的查詢過程,下面這篇文章主要給大家介紹了關于CentOS7環(huán)境下MySQL8常用命令的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-06-06
  • 詳解MySQL實時同步到Oracle解決方案

    詳解MySQL實時同步到Oracle解決方案

    這篇文章主要介紹了詳解MySQL實時同步到Oracle解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03
  • MySQL使用Partition功能實現(xiàn)水平分區(qū)的策略

    MySQL使用Partition功能實現(xiàn)水平分區(qū)的策略

    這篇文章主要介紹了MySQL使用Partition功能實現(xiàn)水平分區(qū),給大家提到了水平分區(qū)的5種策略,通過sql語句給大家介紹的非常詳細,需要的朋友可以參考下
    2021-12-12

最新評論