《Mysql應(yīng)用簡(jiǎn)介操作MySQL日志的一些方法》要點(diǎn):
本文介紹了Mysql應(yīng)用簡(jiǎn)介操作MySQL日志的一些方法,希望對(duì)您有用。如果有疑問(wèn),可以聯(lián)系我們。
MYSQL數(shù)據(jù)庫(kù)我們可以在mysql的安裝目錄下看到mysql的二進(jìn)制日志文件,如mysql-bin.000***等,很多人都不及時(shí)的處理,導(dǎo)致整個(gè)硬盤被塞滿也是有可能的.這些是數(shù)據(jù)庫(kù)的操作日志.它記錄了我們平時(shí)使用的sql語(yǔ)句命令,即使這個(gè)sql語(yǔ)句沒(méi)有被執(zhí)行,也會(huì)被記錄,它包括執(zhí)行時(shí)間之類的都詳細(xì)在案,其實(shí) 它的目的有兩個(gè):一是方便我們查錯(cuò)和恢復(fù)數(shù)據(jù)庫(kù);二是為了主從服務(wù)器之間同步數(shù)據(jù)用的,主從服務(wù)器上所有操作都記錄在日志里,從服務(wù)器可以根據(jù)這些日志來(lái)進(jìn)行相同的操作,確保主從兩個(gè)同步.
查看mysql日志的命令:
MYSQL數(shù)據(jù)庫(kù)
#mysql -u user -p //user代表你的mysql用戶名
Enter password: (輸入密碼) //輸入密碼后就進(jìn)入mysql的控制臺(tái)
mysql> show master logs; //顯示mysql日志文件
+------------------+-----------+
| Log_name | File_size |
+------------------+-----------+
| mysql-bin.000010 | 63328652 |
+------------------+-----------+
1 row in set (0.06 sec)
MYSQL數(shù)據(jù)庫(kù)也可以在mysql的命令模式下,輸入以下命令:
MYSQL數(shù)據(jù)庫(kù)
mysql> show binary logs; //查看二進(jìn)制日志文件列表和大小
+------------------+-----------+
| Log_name | File_size |
+------------------+-----------+
| mysql-bin.000010 | 63355376 |
+------------------+-----------+
1 row in set (0.00 sec)
MYSQL數(shù)據(jù)庫(kù)MASTER和BINARY是同義詞.
MYSQL數(shù)據(jù)庫(kù)刪除mysql 二進(jìn)制日志:
MYSQL數(shù)據(jù)庫(kù)第一種方法是針對(duì)單獨(dú)的mysql服務(wù)器,不適合主從同步的.切記!當(dāng)然,如果你確保自己的主從同步已經(jīng)完成了,那么也可以使用這個(gè)命令,但是我還是不怎么建議的.
MYSQL數(shù)據(jù)庫(kù)第一種方法:mysql>reset master;??????????? //清空所有mysql所有的二進(jìn)制日志文件
MYSQL數(shù)據(jù)庫(kù)主從同步,建議用以下兩種方法:
MYSQL數(shù)據(jù)庫(kù)首先,我們要知道從mysql服務(wù)器是否在讀取日志,或者在讀取哪個(gè)日志.
MYSQL數(shù)據(jù)庫(kù)在從屬服務(wù)器上輸入一下命令:
MYSQL數(shù)據(jù)庫(kù)
mysql>show slave hosts //查看所有連接到master的slave的信息
mysql>show slave status; //檢查從服務(wù)器在讀取哪個(gè)日志
MYSQL數(shù)據(jù)庫(kù)下面第二種和第三種方法中,當(dāng)從服務(wù)器正在讀取你正在刪除的日志時(shí)候,就會(huì)失效,并且會(huì)有報(bào)錯(cuò).如果從屬服務(wù)器沒(méi)有讀取日志,而你又刪了它啟動(dòng)后要讀取的日志,那么當(dāng)它啟動(dòng)后就不會(huì)復(fù)制.所以,下面兩種方法可以安全刪除日志文件.
MYSQL數(shù)據(jù)庫(kù)主從服務(wù)器清理日志操作步驟如下:
MYSQL數(shù)據(jù)庫(kù)注意:最好做好你要?jiǎng)h除的所有日志的備份,有備份,就不怕出錯(cuò)
MYSQL數(shù)據(jù)庫(kù)第二種刪除二進(jìn)制日志的方法:
MYSQL數(shù)據(jù)庫(kù)
PURGE {MASTER | BINARY} LOGS TO 'log_name'
MYSQL數(shù)據(jù)庫(kù)例子:
MYSQL數(shù)據(jù)庫(kù)
mysql>purge master logs to 'mysql-bin.000800'; //清楚mysql-bin.000800之前的二進(jìn)制日志
MYSQL數(shù)據(jù)庫(kù)第三種刪除二進(jìn)制日志的方法:
MYSQL數(shù)據(jù)庫(kù)
PURGE {MASTER | BINARY} LOGS BEFORE 'date'
MYSQL數(shù)據(jù)庫(kù)例子:
MYSQL數(shù)據(jù)庫(kù)
mysql>purge master logs before '2012-12-22 12:12:12'; //刪除2012-12-22 12:12:12這時(shí)間之前的二進(jìn)制文件
MYSQL數(shù)據(jù)庫(kù)第四種方法:就是修改my.cnf文件,在中[mysqld]中添加:
MYSQL數(shù)據(jù)庫(kù)
expire_logs_day=5 //設(shè)置日志的過(guò)期天數(shù),過(guò)了指定的天數(shù),會(huì)自動(dòng)刪除
MYSQL數(shù)據(jù)庫(kù)第五種方法:禁止mysql的日志記錄功能(單服務(wù)器)
MYSQL數(shù)據(jù)庫(kù)修改my.cnf,注釋掉下面兩行:
MYSQL數(shù)據(jù)庫(kù)
#log-bin=mysql-bin
#binlog_format=mixed
MYSQL數(shù)據(jù)庫(kù)然后重啟mysql
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/6414.html