开启mysql日志记录_Mysql开启日志记录
vim /etc/my.conf.d/server.cnf:
#lower_case_tables_name = 1
#錯誤日志
log_error = /var/log/mysql_error.log
#慢查詢日志
slow_query_log='ON'
slow_query_log_file='/mnt/lnx_log/mysql/slow.log'
long_query_time=1 #單位秒,超過此值則記錄為慢查詢
#通用查詢日志,可以查看客戶端發送的sql查詢語句,一般用來調試,生產環境關閉。
general_log='ON'
general_log_file='/mnt/lnx_log/mysql/general.log'
#Binlog日志
server-id = 1 #需要設置server-id,才能開啟bin log.
log_bin:設置此參數表示啟用binlog功能,并指定路徑名稱
log_bin_index:設置此參數是指定二進制索引文件的路徑與名稱
binlog_do_db:此參數表示只記錄指定數據庫的二進制日志
binlog_ignore_db:此參數表示不記錄指定的數據庫的二進制日志
max_binlog_cache_size:此參數表示binlog使用的內存最大的尺寸
binlog_cache_size:此參數表示binlog使用的內存大小,可以通過狀態變量binlog_cache_use和binlog_cache_disk_use來幫助測試。binlog_cache_use:使用二進制日志緩存的事務數量
binlog_cache_disk_use:使用二進制日志緩存但超過binlog_cache_size值并使用臨時文件來保存事務中的語句的事務數量
max_binlog_size:Binlog最大值,最大和默認值是1GB,該設置并不能嚴格控制Binlog的大小,尤其是Binlog比較靠近最大值而又遇到一個比較大事務時,為了保證事務的完整性,不可能做切換日志的動作,只能將該事務的所有SQL都記錄進當前日志,直到事務結束
sync_binlog:這個參數直接影響mysql的性能和完整性
sync_binlog=0:當事務提交后,Mysql僅僅是將binlog_cache中的數據寫入Binlog文件,但不執行fsync之類的磁盤 同步指令通知文件系統將緩存刷新到磁盤,而讓Filesystem自行決定什么時候來做同步,這個是性能最好的。
sync_binlog=n,在進行n次事務提交以后,Mysql將執行一次fsync之類的磁盤同步指令,同志文件系統將Binlog文件緩存刷新到磁盤。
Mysql中默認的設置是sync_binlog=0,即不作任何強制性的磁盤刷新指令,這時性能是最好的,但風險也是最大的。一旦系統繃Crash,在文件系統緩存中的所有Binlog信息都會丟失.
查看Bin log: >mysqlbinlog /tmp/mysql-bin.log
刪除Bin log:
1) 通過binlog參數(expire_logs_days )來實現mysql自動刪除binlog.
2) 手動刪除:
mysql> reset master; //刪除master的binlog
mysql> reset slave; //刪除slave的中繼日志
mysql> purge master logs before '2020-03-30 17:20:00'; //刪除指定日期以前的日志索引中binlog日志文件
mysql> purge master logs to 'mysql-bin.000001'; //刪除指定日志文件的日志索引中binlog日志文件
如果日志沒寫成功,請注意更改mysql賬戶的寫文件權限。
總結
以上是生活随笔為你收集整理的开启mysql日志记录_Mysql开启日志记录的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 10 款 FPS、8 款 RPG、3 款
- 下一篇: mysql存储引擎innodb_MySQ