Mysql物理文件,Mysql數據恢復?

以下都是在Mysql8.0版本 測試的。

ibdata1 共享表不能縮放空間,

獨享空間(.idb)刪除數據之後,可以縮小空間。

不會佔用那麼多資源內存。

mysql 默認是獨享。

innodb存儲數據的方式是通過B+ tree 結構

B+tree 結構是通過索引來構成的。數據存儲在樹的根部

mysql 有6種日誌文件,常用4種

1, 查詢日誌

2,慢查詢日誌

3,事務日誌【回滾等】

4,二進制日誌

5,錯誤日誌

6,中繼日誌(不常用)

 

1,查詢日誌(select),一般不建議開啓[對內存壓力比較大,對硬盤來說沒必要]

代碼 show variable like"%general_log%"; 配置是不開啓的。測試的時候,可以開啓下

2,慢查詢日誌 [*****重要****]

默認不開啓,記錄指定的 超出某個時間執行的sql(2s-3s)

作用:幫助我們在項目中對於一些查詢比較慢的sql進行捕獲

 針對這個sql 進行優化。

show  varialbes like  "%slow _query_log%"

查看慢日誌的記錄文件。

配置my 可以這樣做

slow _query_log = on

slow _query_log_file = D:\php\...mysql\data\mysql_slow.log(放到你部署合適的位置就行,不用非得這個位置)

long_query_time =1 【這個一定需要設置,超過一秒就是慢查詢】

show  varialbes like  "%slow%"

eg SQL: elect sleep(3);

3.錯誤日誌

     1,記錄mysql服務運行過程中產生的異常,不是指SQL異常,而指mysql服務異常

     2,作用是在mysql服務異常時排錯和查錯

4,(主要了解) 二進制文件。(會記錄執行的sql(update,delete,create, insert)寫操作)

    1 增量的數據備份及恢復

    2 主從的數據同步

Show variable like ”%log_bin%”

Binlog 日誌。

2    

 

 

1,記錄,還是可以去寫入,因爲只是規定大小,而不是限制大小

2,1)定時把二進制文件備份到數據庫備份中

  1. 定時對於往期1年的binlog日誌文件進行清空(如果服務器的資源充足不建議清空)
  2.  SQL : 查看所有二進制文件,show binary logs。 當前使用的是 show master staus 當前日誌。 查詢第一個日誌 show binlog  events。
  3. 制定show binlog events  in "mysql-bin.000002";
  4. reset master; //清空二進制文件   flush logs;//清空所有的日誌文件。

重要 Mysql數據恢復?

用過 xshell  恢復

可以做測試,增加5條數據,之後把數據刪除。

 

筆記開啓 二進制日誌 會消耗1%的性能保證安全性

 

 

 

2 存儲 結構

Myisam 數據和索引是分開存儲的。Innodb是一起的。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章