溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

mysql基礎(chǔ)(八)mysql日志

發(fā)布時(shí)間:2020-04-14 00:23:40 來(lái)源:網(wǎng)絡(luò) 閱讀:341 作者:紅塵世間 欄目:建站服務(wù)器
mysql日志類型:
    1、查詢?nèi)罩?通常不會(huì)開(kāi)啟,也不建議開(kāi)啟)
    2、慢查詢?nèi)罩?建議開(kāi)啟)
    3、錯(cuò)誤日志(建議開(kāi)啟)
    4、二進(jìn)制日志(建議開(kāi)啟)
    5、中繼日志
    6、事務(wù)日志(幫助事務(wù)型存儲(chǔ)引擎完成ACID測(cè)試)


	
mysql> SHOW GLOBAL VARIABLES LIKE '%log%';	#查看和日志相關(guān)的變量

    查詢?nèi)罩荆?    	general_log=ON|OFF			#是否開(kāi)啟查詢?nèi)罩?	general_log_file=PATH			#查詢?nèi)罩疚募窂?	log_output=FILE|TABLE|NONE		#輸出方式,默認(rèn)為FILE
		
		
    慢查詢?nèi)罩荆簣?zhí)行時(shí)長(zhǎng)超出指定時(shí)長(zhǎng)的查詢操作
	mysql> SHOW GLOBAL VARIABLES LIKE 'long_query_time';	#查看超時(shí)時(shí)長(zhǎng)
		
	服務(wù)器變量:
	    slow_query_log=ON|OFF	#是否開(kāi)啟慢查詢?nèi)罩?	    log-slow-queries=PATH  	#慢查詢?nèi)罩敬鎯?chǔ)路徑,默為HOSTNAME-slow.log
	    log_output=FILE|TABLE	#輸出方式,默認(rèn)為FILE
		
	mysqldumpslow		#慢查詢?nèi)罩痉治龉ぞ?	

    錯(cuò)誤日志:
	1、記錄mysql啟動(dòng)和關(guān)閉過(guò)程中產(chǎn)生的事件信息
	2、記錄mysql運(yùn)行過(guò)程中產(chǎn)生的錯(cuò)誤信息
	3、在主從架構(gòu)中,從服務(wù)器上啟動(dòng)從服務(wù)器線程產(chǎn)生的信息
		
	服務(wù)器變量:
	    log_error=OFF|ON|PATH      #啟動(dòng)錯(cuò)誤日志,如果不指定錯(cuò)誤日志位置將使用默認(rèn)位置
	    log_warnings=0|1	       #是否記錄警告信息

			
	
       二進(jìn)制日志:記錄導(dǎo)致數(shù)據(jù)改變或者有可能導(dǎo)致數(shù)據(jù)發(fā)生改變的SQL語(yǔ)句
        功能:用于實(shí)現(xiàn)通過(guò)"重放"日志文件中的事件來(lái)生成數(shù)據(jù)副本
		
	    mysql> SHOW MASTER LOGS;		#查看可使用的二進(jìn)制日志文件列表
	    mysql> SHOW MASTER STATUS;	#查看正在使用的二進(jìn)制日志文件
	    mysql> SHOW BINLOG EVENTS;	#查看二進(jìn)制日志文件內(nèi)容

	    服務(wù)器變量:
	      sql_log_bin=OFF|ON	#是否開(kāi)啟二進(jìn)制日志
	      log_bin=OFF|ON		#是否開(kāi)啟二進(jìn)制日志,必須同時(shí)啟用才能生效
	      binlog_format=STATEMENT|ROW|MIXED		#二進(jìn)制日志格式
	      max_binlog_size=			#單個(gè)二進(jìn)制文件最大大小
	            1、到達(dá)最大大小時(shí)自動(dòng)滾動(dòng)	  2、重啟后自動(dòng)滾動(dòng)
	      sync_binlog=0|1			#是否同步寫入,默認(rèn)為異步寫入
		    1、同步寫入會(huì)影響服務(wù)器性能	  2、異步寫入可能會(huì)造成數(shù)據(jù)丟失
				
	    二進(jìn)制文件格式:
	    基于語(yǔ)句的記錄:STATEMENT
		    優(yōu)點(diǎn):在相同體積下記錄的數(shù)據(jù)更多
		    缺點(diǎn):不能保證回放的數(shù)據(jù)和源數(shù)據(jù)完全相同
	       如:mysql> INSERT INTO test VALUE(1,now());#每一次獲取的系統(tǒng)時(shí)間都不相同
			
			基于行(數(shù)據(jù))的記錄:ROW
			    優(yōu)點(diǎn):能保證回放的數(shù)據(jù)和源數(shù)據(jù)基本相同
			    缺點(diǎn):在相同體積下記錄的數(shù)據(jù)更少
		        混合模式:MIXED,由系統(tǒng)判定基于那種方式進(jìn)行存儲(chǔ)
		
	    二進(jìn)制文件的構(gòu)成:
	        日志文件:mysql-bin.00000X	#二進(jìn)制文件
	        索引文件:mysql-bin.index	#保存當(dāng)前可用的二進(jìn)制日志文件列表
		
	    二進(jìn)制日志事件的格式:
		mysqlbinlog		#二進(jìn)制文件分析工具
		    使用格式:mysqlbinlog [--start-position=事件開(kāi)始位置] 二進(jìn)制日志文件
		    例:mysqlbinlog mysql-bin.000003

		#at 655
		#170220  8:33:37  server  id 1  end_log_pos 731  Query  thread_id=12  exec_time=0  error_code=0
		SET TIMESTAMP=1487550817/*!*/;
		BEGIN
		/*!*/;

		事件的起始位置:at 655
		事件發(fā)生的時(shí)間:170220  8:33:37
		server id 1:server id,在做mysql集群時(shí)必須保證server id全局唯一
		事件的結(jié)束位置:end_log_pos 731
		事件的類型:Query
		事件發(fā)生時(shí)所在服務(wù)器執(zhí)行此事件的線程ID:thread_id=12
		語(yǔ)句執(zhí)行和將其寫入二進(jìn)制日志中的時(shí)間差
		錯(cuò)誤代碼:error_code


    中繼日志:主從架構(gòu)中實(shí)現(xiàn)主從復(fù)制的從服務(wù)日志,主要用于保存從二進(jìn)制日志文件中讀取事件

	
    事務(wù)日志:
	由事務(wù)型存儲(chǔ)自行管理和使用


    清理日志:
	PURGE BINARY LOGS TO 'mysql-bin.010';	#清除指定日志之前的二進(jìn)制日志
	PURGE BINARY LOGS BEFORE '2008-04-02 22:46:26';  #清除指定時(shí)間之前的二進(jìn)制日志


向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI