真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

mysql---------binlog

1、基礎(chǔ)知識

成都創(chuàng)新互聯(lián)公司是一家專業(yè)提供康縣企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站制作、做網(wǎng)站、html5、小程序制作等業(yè)務(wù)。10年已為康縣眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進(jìn)行中。

在MySQL5.0以前版本支持文本格式和二進(jìn)制格式的日志,但是在mysql5.0后版本就只支持二進(jìn)制格式的日志。因?yàn)槎M(jìn)制日志在性能、信息處理等方面有更多的優(yōu)點(diǎn)。

2、啟用mysql二進(jìn)制日志

mysql二進(jìn)制日志由配置文件my.cnf的log-bin選項(xiàng)負(fù)責(zé)啟用的。

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

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

mysql ---------binlog

默認(rèn)沒有打開,我們將注釋打開:

mysql ---------binlog

重啟服務(wù)

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

mysql ---------binlog

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

mysql ---------binlog

mysql會把用戶對所有數(shù)據(jù)庫的內(nèi)容和結(jié)構(gòu)的修改情況記入XXX-bin.n文件,但是不會記錄SELECT和沒有實(shí)際更新的UPDATE語句。

當(dāng)然我們也可以通過相關(guān)命令查詢,mysql是否已經(jīng)開啟binlog日志。如下:

mysql> show variables like 'log_%';

mysql ---------binlog

3、binlog日志文件的生成

當(dāng)mysql停止或重啟時(shí),服務(wù)器會把日志文件記入下一個(gè)日志文件,mysql會在重啟時(shí)生成一個(gè)新的日志文件,文件序號依次遞增。

mysql ---------binlog

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

注: /etc/my.cnf 默認(rèn)情況下是沒有這個(gè)選項(xiàng)的,需要自定義添加:

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

mysql ---------binlog

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

mysql> flush logs;

mysql ---------binlog

4、查看系統(tǒng)中的binlog日志

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

mysql> show master logs;

mysql ---------binlog

5、查看binlog日志文件

mysql提供了mysqlbinlog命令來查看日志文件,在記錄每條變更日志的時(shí)候,日志文件都會把當(dāng)前時(shí)間給記錄下來,以便進(jìn)行數(shù)據(jù)庫恢復(fù)。如下:

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

mysql ---------binlog

6、使用binlog日志進(jìn)行數(shù)據(jù)庫恢復(fù)

如果遇到災(zāi)難事件,應(yīng)該用最近一次制作的完整備份恢復(fù)數(shù)據(jù)庫,然后使用備份之后的binlog日志件把數(shù)據(jù)庫恢復(fù)到最接近現(xiàn)在的可用狀態(tài)。

使用binlog日志進(jìn)行恢復(fù)時(shí)需要依次進(jìn)行,即最早生成的日志文件要最先恢復(fù)。恢復(fù)數(shù)據(jù)的命令格式如下:

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

-u  指定數(shù)據(jù)庫用戶名 –p 用戶名對應(yīng)的密碼 dataname 數(shù)據(jù)庫的名字 

7、binlog命令行參數(shù)詳解

my.cnf配置文件有關(guān)binlog配置如下:

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

mysql ---------binlog

8、刪除binlog日志

8.1刪除部分binlog日志

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

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

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

mysql ---------binlog

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

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

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

根據(jù)日志生成的時(shí)間刪除,只刪除date之前的日志,date本身不會被刪除。

mysql ---------binlog

8.2刪除全部binlog日志

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

mysql> reset master;

mysql ---------binlog


本文名稱:mysql---------binlog
當(dāng)前地址:http://weahome.cn/article/jcdjhi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部