您好,登錄后才能下訂單哦!
本文主要給大家簡(jiǎn)單講講MySQL主要有哪幾種日志文件,相關(guān)專業(yè)術(shù)語(yǔ)大家可以上網(wǎng)查查或者找一些相關(guān)書(shū)籍補(bǔ)充一下,這里就不涉獵了,我們就直奔主題吧,希望MySQL主要有哪幾種日志文件這篇文章可以給大家?guī)?lái)一些實(shí)際幫助。
MySQL主要有以下幾種日志類型:
錯(cuò)誤日志——MySQL服務(wù)啟動(dòng)和關(guān)閉過(guò)程中的信息以及其它錯(cuò)誤和警告信息。默認(rèn)在數(shù)據(jù)目錄下。
一般查詢?nèi)罩尽糜谟涗泂elect查詢語(yǔ)句的日志。general_log、general_log_file 默認(rèn)關(guān)閉,建議關(guān)閉。
慢查詢?nèi)罩尽猯og-slow-queries記錄所有超過(guò)long_query_time時(shí)間的SQL語(yǔ)句,
二進(jìn)制日志——記錄任何引起數(shù)據(jù)變化的操作,用于備份和還原。默認(rèn)存放在數(shù)據(jù)目錄中,在刷新和服務(wù)重啟時(shí)會(huì)滾動(dòng)二進(jìn)制日志。
中繼日志——從主云服務(wù)器的二進(jìn)制文件中復(fù)制的事件,并保存為二進(jìn)制文件,格式和二進(jìn)制日志一樣。
事務(wù)日志——保證事務(wù)的一致性。
1 慢查詢?nèi)罩荆?/p>
mysql> show variables like "long%"; #查看慢查詢?nèi)罩拘畔?/p>
+-----------------+----------+
| Variable_name | Value |
+-----------------+----------+
| long_query_time | 3.000000 |
+-----------------+----------+
1 row in set (0.13 sec)
mysql> show variables like "slow%"; #查看慢查詢?nèi)罩驹O(shè)置
+---------------------+-----------------------------+
| Variable_name | Value |
+---------------------+-----------------------------+
| slow_launch_time | 2 |
| slow_query_log | OFF |
| slow_query_log_file | /data/mysql/slave2-slow.log |
+---------------------+-----------------------------+
3 rows in set (0.06 sec)
#慢查詢時(shí)間設(shè)置,永久改變需要更改配置文件,超過(guò)5秒的慢查詢會(huì)被記錄到慢查詢?nèi)罩疚募?/p>
mysql> set long_query_time=5;
Query OK, 0 rows affected (0.25 sec)
mysql> set global slow_query_log=1; #開(kāi)啟慢查詢,永久開(kāi)啟需要修改配置文件
mysql> show global status like '%Slow_queries%'; #查看慢查詢?nèi)罩緮?shù)目
mysqldumpslow -s c -t 10 /database/mysql/mysql06_slow.log #查看訪問(wèn)最多的10個(gè)SQL
mysqldumpslow slow-query.log #對(duì)慢查詢分類匯總
2 二進(jìn)制日志:
mysql> show global variables like "%log%"; #查看日志相關(guān)變量
mysql> show variables like "%log_bin%"; #查看二進(jìn)制變量
+---------------------------------+-------+
| Variable_name | Value |
+---------------------------------+-------+
| log_bin | OFF |
| log_bin_basename | |
| log_bin_index | |
| log_bin_trust_function_creators | OFF |
| log_bin_use_v1_row_events | OFF |
| sql_log_bin | ON |
+---------------------------------+-------+
[root@slave02 mysql]# vim /etc/my.cnf
log_bin #去掉注釋,開(kāi)啟二進(jìn)制日志
[root@slave02 mysql]# service mysqld restart
mysql> show binary logs; #查看所有二進(jìn)制日志文件
+-------------------+-----------+
| Log_name | File_size |
+-------------------+-----------+
| slave2-bin.000001 | 168 |
| slave2-bin.000002 | 120 |
+-------------------+-----------+
mysql> show master status; #查看當(dāng)前使用的二進(jìn)制日志
+-------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+-------------------+----------+--------------+------------------+-------------------+
| slave2-bin.000002 | 120 | | | |
+-------------------+----------+--------------+------------------+-------------------+
1 row in set (0.03 sec)
mysql> flush logs; #刷新二進(jìn)制日志
Query OK, 0 rows affected (0.17 sec)
[root@slave02 mysql]# mysqlbinlog mysql-bin.00001; #顯示二進(jìn)制文件內(nèi)容
3 日志的刪除——磁盤的容量是有限的,而日志的增長(zhǎng)則是無(wú)限的
方式 1:reset master 刪除所有二進(jìn)制日志
mysql> reset master;
Query OK, 0 rows affected (0.02 sec)
查看刪除后的二進(jìn)制日志
mysql> system ls -ltr www-bin*
-rw-rw----. 1 mysql mysql 120 Apr 29 22:59 www-bin.000001
-rw-rw----. 1 mysql mysql 17 Apr 29 22:59 www-bin.index
方式 2:purge master logs to 'www-bin.000002'; 刪除000002之前的日志
查看日志
mysql> system ls -ltr www-bin*
-rw-rw----. 1 mysql mysql 165 Apr 29 23:04 www-bin.000001
-rw-rw----. 1 mysql mysql 165 Apr 29 23:04 www-bin.000002
-rw-rw----. 1 mysql mysql 165 Apr 29 23:04 www-bin.000003
-rw-rw----. 1 mysql mysql 120 Apr 29 23:04 www-bin.000004
-rw-rw----. 1 mysql mysql 68 Apr 29 23:04 www-bin.index
刪除日志
mysql> purge master logs to 'www-bin.000002';
Query OK, 0 rows affected (0.03 sec)
再次查看日志
mysql> system ls -ltr www-bin*
-rw-rw----. 1 mysql mysql 165 Apr 29 23:04 www-bin.000002
-rw-rw----. 1 mysql mysql 165 Apr 29 23:04 www-bin.000003
-rw-rw----. 1 mysql mysql 120 Apr 29 23:04 www-bin.000004
-rw-rw----. 1 mysql mysql 51 Apr 29 23:06 www-bin.index
方式 3:purge master logs before '2017-04-29 23:11:00'; 刪除某個(gè)時(shí)間點(diǎn)之前的日志
查看日志
mysql> system ls -ltr www-bin*
-rw-rw----. 1 mysql mysql 165 Apr 29 23:04 www-bin.000002
-rw-rw----. 1 mysql mysql 165 Apr 29 23:04 www-bin.000003
-rw-rw----. 1 mysql mysql 165 Apr 29 23:11 www-bin.000004
-rw-rw----. 1 mysql mysql 120 Apr 29 23:11 www-bin.000005
-rw-rw----. 1 mysql mysql 68 Apr 29 23:11 www-bin.index
刪除日志
mysql> purge master logs before '2017-04-29 23:11:00';
Query OK, 0 rows affected (0.74 sec)
再次查看日志
mysql> system ls -ltr www-bin*
-rw-rw----. 1 mysql mysql 165 Apr 29 23:11 www-bin.000004
-rw-rw----. 1 mysql mysql 120 Apr 29 23:11 www-bin.000005
-rw-rw----. 1 mysql mysql 34 Apr 29 23:13 www-bin.index
方法 4:在配置文件中添加參數(shù):--expire_logs_days=# 參數(shù)的含義是設(shè)置日志過(guò)期的天數(shù)
1)修改配置文件:vim /etc/my.cnf
expire_logs_days=60 #添加一行
[root@www mysql]# service mysqld restart
2)查看刪除前日志
mysql> system ls -ltr www-bin*
-rw-rw----. 1 mysql mysql 165 Apr 29 23:11 www-bin.000004
-rw-rw----. 1 mysql mysql 120 Apr 29 23:11 www-bin.000005
-rw-rw----. 1 mysql mysql 34 Apr 29 23:13 www-bin.index
3)修改系統(tǒng)時(shí)間
[root@www mysql]# date -s "2017-05-30"
4)刷新日志觸發(fā)日志更新,由于不到60天,因此日志不會(huì)被刪除
mysql> flush logs;
Query OK, 0 rows affected (0.64 sec)
mysql> system ls -ltr www-bin*
-rw-rw----. 1 mysql mysql 165 Apr 29 23:11 www-bin.000004
-rw-rw----. 1 mysql mysql 143 Apr 29 23:25 www-bin.000005
-rw-rw----. 1 mysql mysql 165 May 30 00:02 www-bin.000006
-rw-rw----. 1 mysql mysql 165 May 30 00:02 www-bin.000007
-rw-rw----. 1 mysql mysql 165 May 30 00:03 www-bin.000008
-rw-rw----. 1 mysql mysql 120 May 30 00:03 www-bin.000009
-rw-rw----. 1 mysql mysql 102 May 30 00:03 www-bin.index
5)將系統(tǒng)時(shí)間改為60天后,再次刷新日志觸發(fā)日志文件更新,可以發(fā)現(xiàn)60天前的日志被刪除
[root@www mysql]# date -s "2017-08-30"
mysql> flush logs;
Query OK, 0 rows affected (0.06 sec)
mysql> system ls -ltr www-bin*
-rw-rw----. 1 mysql mysql 165 Aug 30 00:00 www-bin.000010
-rw-rw----. 1 mysql mysql 120 Aug 30 00:00 www-bin.000011
-rw-rw----. 1 mysql mysql 34 Aug 30 00:00 www-bin.index
MySQL主要有哪幾種日志文件就先給大家講到這里,對(duì)于其它相關(guān)問(wèn)題大家想要了解的可以持續(xù)關(guān)注我們的行業(yè)資訊。我們的板塊內(nèi)容每天都會(huì)捕捉一些行業(yè)新聞及專業(yè)知識(shí)分享給大家的。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。