MySQL8.0的工具日志配置管理方式
日志分類
- error log:錯誤日志
- genernal log:普通日志
- binlog:二進制日志
- slow log:慢日志
設(shè)置錯誤日志
配置: 默認位置: log_error=$DATDDIR/hostname.err 看日志: 主要關(guān)注 [ERROR],deadlock [root@localhost ~]# # errorlog [root@localhost ~]# # 默認開了,默認位置 datadir=/data/3306/data/HOSTNAME.err [root@localhost ~]# # 控制參數(shù) log_error=/data/3306/err.log, 注意: 最好是初始化之前設(shè)定好。 [root@localhost ~]# # 注意: 日志和數(shù)據(jù)分開存儲 例如: /mysqllog/3306/mysql-err.log [root@localhost ~]# vim /etc/my.cnf [root@localhost ~]# cat /etc/my.cnf [mysql] socket=/tmp/mysql.sock [mysqld] user=mysql basedir=/usr/local/mysql datadir=/data/3306/data server_id=51 port=3306 socket=/tmp/mysql.sock log_error=/data/3306/log/mysql-err.log
設(shè)置錯誤日志等級
[root@localhost ~]# mkdir -p /data/3306/log/ [root@localhost ~]# chown -R mysql.mysql /data/ [root@localhost ~]# /etc/init.d/mysqld restart Shutting down MySQL.... [ OK ] Starting MySQL.2021-11-20T14:58:53.264890Z mysqld_safe error: log-error set to '/data/3306/log/mysql-err.log', however file don't exists. Create writable for user 'mysql'. The server quit without updating PID file (/data/3306/data/[FAILED]t.localdomain.pid). [root@localhost ~]# touch /data/3306/log/mysql-err.log [root@localhost ~]# chown -R mysql. /data/ [root@localhost ~]# /etc/init.d/mysqld restart 錯誤日志: 啟動故障 主從故障 死鎖 數(shù)據(jù)庫hang,堆棧信息 主要關(guān)注: [ERROR] [ERROR] [MY-000068] [Server] unknown option ---》 配置文件有問題 日志記錄級別 mysql> show variables like '%log_error%'; +----------------------------+----------------------------------------+ | Variable_name | Value | +----------------------------+----------------------------------------+ | binlog_error_action | ABORT_SERVER | | log_error | /data/3306/log/mysql-err.log | | log_error_services | log_filter_internal; log_sink_internal | | log_error_suppression_list | | | log_error_verbosity | 2 | +----------------------------+----------------------------------------+ 5 rows in set (0.00 sec)

生效時間
mysql> set global log_error_verbosity=3; 下一次登錄生效。

二進制日志(binlog)
作用
記錄了MySQL 發(fā)生過的修改的操作的日志。,除了show select ,修改操作都會記錄binlog
數(shù)據(jù)恢復、主從、SQL問題排查、審計(工具:binlog2sql my2sql)
配置
- 8.0默認開啟binlog
- 默認在datadir binlog.0000001
- 建議日志和數(shù)據(jù)分開存儲,避免磁盤IO 搶占。
定義 參數(shù) server_id=111
log_bin=路徑/文件名前綴
cat /etc/my.cnf [mysql] socket=/tmp/mysql.sock [mysqld] user=mysql basedir=/usr/local/mysql datadir=/data/3306/data server_id=51 port=3306 socket=/tmp/mysql.sock log_error=/data/3306/log/mysql-err.log log_bin=/data/3306/log/mysql-bin
重啟生效
cd /data/3306/log/ [root@localhost log]# ll total 24 -rw-r----- 1 mysql mysql 156 Nov 20 23:26 mysql-bin.000001 -rw-r----- 1 mysql mysql 32 Nov 20 23:26 mysql-bin.index
慢日志(slow_log)
作用
記錄MySQL工作中,運行較慢的語句。用來定位SQL語句性能問題。
建議都在my.cnf 中配置,因為重啟才能永久生效。
開關(guān): slow_query_log=1 slow_query_log_file= 維度: set global slow_query_log=1 set global long_query_time=0.5 set global log_queries_not_using_indexes=1 set global log_throttle_queries_not_using_indexes=1000;
general_log 業(yè)務(wù)sql
普通日志,會記錄所有數(shù)據(jù)庫發(fā)生的事件及語句
[root@localhost ~]# # 普通日志 general_log [root@localhost ~]# # 文本格式記錄MySQL運行期間,所有的所作語句, 可以做問題診斷和調(diào)試 [root@localhost ~]# # 參數(shù): general_log , general_log_file [root@localhost ~]# vim /etc/my.cnf [root@localhost ~]# cat /etc/my.cnf [mysql] socket=/tmp/mysql.sock [mysqld] user=mysql basedir=/usr/local/mysql datadir=/data/3306/data server_id=51 port=3306 socket=/tmp/mysql.sock log_error=/data/3306/log/mysql-err.log log_bin=/data/3306/log/mysql-bin slow_query_log=1 slow_query_log_file=/data/3306/log/slow.log long_query_time=0.5 log_queries_not_using_indexes=1 log_throttle_queries_not_using_indexes=1000 general_log=on general_log_file=/data/3306/log/genlog
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
MySQL優(yōu)化之如何了解SQL的執(zhí)行頻率
MySQL 客戶端連接成功后,通過 show [session|global]status 命令 可以提供服務(wù)器狀態(tài)信息,也可以在操作系統(tǒng)上使用 mysqladmin extended-status 命令獲得這些消息2014-05-05
Ubuntu Server下MySql數(shù)據(jù)庫備份腳本代碼
為了mysql數(shù)據(jù)庫的安全,我們需要定時備份mysql數(shù)據(jù)庫,這里提供下腳本代碼,需要的朋友可以參考下2013-06-06
MySQL數(shù)據(jù)庫索引原理及優(yōu)化策略
MySQL數(shù)據(jù)庫索引是一種數(shù)據(jù)結(jié)構(gòu),用于提高數(shù)據(jù)查詢的效率,加快數(shù)據(jù)檢索的速度。索引基于樹結(jié)構(gòu)實現(xiàn),可以通過B+樹等算法來優(yōu)化索引效率。MySQL中常見的索引類型包括主鍵索引、唯一索引、普通索引、全文索引等2023-04-04
mysql中find_in_set()函數(shù)用法及自定義增強函數(shù)詳解
這篇文章主要給大家介紹了關(guān)于mysql中find_in_set()函數(shù)用法及自定義增強函數(shù)的相關(guān)資料,在MySQL 數(shù)據(jù)庫中進行復雜的查詢語句,例如對多個字段進行篩選和排序,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2024-06-06

