亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

防刪庫實用指南 | 只需一步,快速召回被誤刪的表

發布時間:2020-08-05 02:42:30 來源:ITPUB博客 閱讀:144 作者:阿里巴巴數據庫技術 欄目:關系型數據庫

作者

黃忠,阿里云數據庫技術專家


數據庫的一些非常不錯的企業級功能都是“養兵千日,用兵一時”,比如Oracle 10g中的回收站(Recycle Bin)功能,可以在特殊情況下發揮特種兵的功能,比如當你刪除一個表空間、一個用戶(Schema)時,可能會刪除很多的表,包括你不想刪除的一些表。

這種例子還是很多的,早些年很多的DBA使用圖形工具來訪問數據庫,所連接的用戶權限又比較高,當查詢大量數據引起圖形工具短暫失去響應時,很容易多打幾下鍵盤或者多點幾下鼠標,等到圖形工具響應過來,發現些表或某些用戶已經不見了。

前面講的是無心之過,還可以看到一些有心的惡意操作,比如因員工和公司的關系不夠友善引起的破壞性操作。這時就可以檢查一下Oracle數據庫回收站中是否還有被刪除的表。

AliSQL阿里云RDS MySQL團隊精心打造的一個分支,在性能、功能、穩定性上都有極大的提升和突破。在2019年12月份發布的版本中也帶了Recycle Bin功能,只需要設置一個參數就可以開啟:


*請左右滑動閱覽
mysql> set global recycle_bin=on;
Query OK, 0 rows affected (0.00 sec)
mysql> show global variables like 'recycle_bin';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| recycle_bin   | ON    |
+---------------+-------+
1 row in set (0.00 sec)
接下來讓我們來創建一個表,插入一些數據,進行功能測試和驗證。如下所示:
*請左右滑動閱覽
mysql> use test;
Database changed
mysql> create table t_recycle_bin_demo (col1 int not null);
Query OK, 0 rows affected (0.01 sec)
mysql> insert into t_recycle_bin_demo values (1),(2)
;
Query OK, 2 rows affected (0.00 sec)
Records: 2  Duplicates: 0  Warnings: 0
mysql> select * from t_recycle_bin_demo
;
+------+
| col1 |
+------+
|    1 |
|    2 |
+------+
2 rows in set (0.00 sec)
假設這是一張很重要的表,并且被意外Drop掉了,讓我們來看一下如何找回這張表的數據。如下所示:
*請左右滑動閱覽
mysql> drop table t_recycle_bin_demo;
Query OK, 0 rows affected (0.01 sec)
mysql> call dbms_recycle.show_tables();
+-----------------+---------------+---------------+--------------------+---------------------+---------------------+
| SCHEMA          | TABLE         | ORIGIN_SCHEMA | ORIGIN_TABLE       | RECYCLED_TIME       | PURGE_TIME          |
+-----------------+---------------+---------------+--------------------+---------------------+---------------------+
|
 __recycle_bin__ | __innodb_1073 | test          | t_recycle_bin_demo | 2020-02-27 06:48:24 | 2020-03-05 06:48:24 |
+-----------------+---------------+---------------+--------------------+---------------------+---------------------+
1 row in set (0.00 sec)
mysql> select * from `__recycle_bin__`.`__innodb_1073`;
+------+
| col1 |
+------+
|    1 |
|    2 |
+------+
2 rows in set (0.00 sec)
可以看到,AliSQL在開啟回收站功能的情況下,被刪除的表被移到了“__recycle_bin__”數據庫下面,可以通過Select語句直接訪問讀出被刪除的數據以進行恢復,這樣就找回了你的重要數據。和Oracle不同的地方是,“__recycle_bin__”數據庫訪問需要明確的授權操作,這樣可以防止表的所有者(可能是惡意者)同步清理回收站中的表。比如我用一般用戶登進去操作,就會報權限錯誤,如下所示:
*請左右滑動閱覽
mysql> select * from `__recycle_bin__`.`__innodb_1073`;
ERROR 1142 (42000): SELECT command denied to user 'test'@'localhost' for table '__innodb_1073'
mysql> call dbms_recycle.purge_table('__innodb_1073');
ERROR 1142 (42000): DROP command denied to user 'test'@'localhost' for table '__innodb_1073'


可以看到通過AliSQL的回收站功能,以及精心規劃的權限管理機制,可以有效地處理表被意外或惡意刪除的問題,確保你的數據安全。





向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

曲麻莱县| 深州市| 隆安县| 杭锦旗| 平顺县| 合江县| 贞丰县| 木兰县| 隆子县| 宁晋县| 贡嘎县| 马公市| 呼伦贝尔市| 安泽县| 高安市| 瑞丽市| 甘肃省| 兰西县| 安溪县| 连云港市| 长垣县| 荣昌县| 南川市| 绵竹市| 台山市| 永州市| 闽侯县| 菏泽市| 栖霞市| 容城县| 兴海县| 安乡县| 北流市| 平阳县| 龙陵县| 九江县| 屏边| 开阳县| 崇礼县| 都昌县| 日喀则市|