91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

mysql ---------binlog

發布時間:2020-06-30 21:35:03 來源:網絡 閱讀:610 作者:365940075 欄目:數據庫

1、基礎知識

mysql5.0以前版本支持文本格式和二進制格式的日志,但是在mysql5.0后版本就只支持二進制格式的日志。因為二進制日志在性能、信息處理等方面有更多的優點。

2、啟用mysql二進制日志

mysql二進制日志由配置文件my.cnf的log-bin選項負責啟用的。

mysql服務器默認會在數據根目錄創建兩個新文件:XXX-bin.000001和XXX-bin.index。若配置選項沒有給出文件名,mysql將使用mysql-bin來命名這兩個文件,其中.index文件包含一份完整的日志文件清單。如下:

[root@xin-c ~]# vim /etc/my.cnf


mysql ---------binlog


默認沒有打開,我們將注釋打開:


mysql ---------binlog


重啟服務

[root@xin-c ~]# /etc/init.d/mysqld restart

mysql ---------binlog


[root@xin-c ~]# cd /data/mysql/

mysql ---------binlog

mysql會把用戶對所有數據庫的內容和結構的修改情況記入XXX-bin.n文件,但是不會記錄SELECT和沒有實際更新的UPDATE語句。

當然我們也可以通過相關命令查詢,mysql是否已經開啟binlog日志。如下:

mysql> show variables like 'log_%';


mysql ---------binlog


3、binlog日志文件的生成

當mysql停止或重啟時,服務器會把日志文件記入下一個日志文件,mysql會在重啟時生成一個新的日志文件,文件序號依次遞增。

mysql ---------binlog

如果日志文件超過max_binlog_size(在my.cnf文件中配置)系統變量配置的上限時,也會生成新的日志文件。

注: /etc/my.cnf 默認情況下是沒有這個選項的,需要自定義添加:

[root@xin-m mysql]# vim /etc/my.cnf 

mysql ---------binlog

除此之外,如果在mysql命令中執行flush logs命令也會生成新的日志文件。


mysql> flush logs;


mysql ---------binlog

4、查看系統中的binlog日志

查看系統中的binlog日志,使用show master logs命令。如下:

mysql> show master logs;


mysql ---------binlog

5、查看binlog日志文件

mysql提供了mysqlbinlog命令來查看日志文件,在記錄每條變更日志的時候,日志文件都會把當前時間給記錄下來,以便進行數據庫恢復。如下:

[root@xin-m mysql]# mysqlbinlog mysql-bin.000004| more


mysql ---------binlog



6、使用binlog日志進行數據庫恢復

如果遇到災難事件,應該用最近一次制作的完整備份恢復數據庫,然后使用備份之后的binlog日志件把數據庫恢復到最接近現在的可用狀態。

使用binlog日志進行恢復時需要依次進行,即最早生成的日志文件要最先恢復。恢復數據的命令格式如下:

mysqlbinlog xxx-bin.000001|mysql -uroot –p'password' dataname


-u  指定數據庫用戶名 –p 用戶名對應的密碼 dataname 數據庫的名字 


7、binlog命令行參數詳解

my.cnf配置文件有關binlog配置如下:

[root@xin-m mysql]# cat /etc/my.cnf |grep -v ^#|grep -v ^$


mysql ---------binlog



8、刪除binlog日志

8.1刪除部分binlog日志

刪除binlog部分日志,我們可以日志名稱和日志生成的時間來進行刪除。刪除命令如下:

mysql> purge master logs to 'mysql-bin.000009';


根據日志名稱刪除,只刪除log_name之前的日志,log_name本身不會被刪除。

mysql ---------binlog



通過上圖我們可以看到,mysql-bin.000009之前的日志已經被全部刪除。

[root@xin-c mysql]# ll --full-time

mysql> purge master logs before '2016-05-17 15:27:53';


根據日志生成的時間刪除,只刪除date之前的日志,date本身不會被刪除。

mysql ---------binlog



8.2刪除全部binlog日志

刪除之前所有的binlog日志,并重新生成新的binlog,后綴從000001開始。使用命令:

mysql> reset master;


mysql ---------binlog

向AI問一下細節

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

AI

安图县| 包头市| 河西区| 保德县| 翁牛特旗| 阿尔山市| 太白县| 鄂州市| 密山市| 涞源县| 华坪县| 江阴市| 洪雅县| 普兰店市| 镇巴县| 方正县| 砀山县| 修文县| 扎赉特旗| 都昌县| 武夷山市| 嘉禾县| 扎囊县| 英吉沙县| 辛集市| 浦江县| 五大连池市| 古田县| 辽宁省| 乌苏市| 图木舒克市| 灵石县| 宜州市| 石狮市| 金秀| 马山县| 沂水县| 孝义市| 蓬溪县| 哈尔滨市| 屯门区|