新聞中心
數(shù)據(jù)庫日志對于維護(hù)數(shù)據(jù)庫的健康和穩(wěn)定至關(guān)重要。日志記錄數(shù)據(jù)庫中所有的操作,包括插入、刪除、更新等等,有助于調(diào)試系統(tǒng)故障,保障數(shù)據(jù)的完整性。本文將介紹如何在不同數(shù)據(jù)庫系統(tǒng)中查看數(shù)據(jù)庫日志。

創(chuàng)新互聯(lián)建站主營平陸網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,重慶App定制開發(fā),平陸h5小程序定制開發(fā)搭建,平陸網(wǎng)站營銷推廣歡迎平陸等地區(qū)企業(yè)咨詢
一、MySQL
MySQL是一種流行的關(guān)系型數(shù)據(jù)庫,它提供了多種方式訪問和查看日志。
1.查看錯(cuò)誤日志
在MySQL中,錯(cuò)誤日志通常存儲(chǔ)在默認(rèn)的數(shù)據(jù)目錄/var/log/mysql/error.log中。您可以通過以下命令查看:
$ sudo tl -f /var/log/mysql/error.log
2.查看慢查詢?nèi)罩?/p>
慢查詢?nèi)罩臼侵赋^特定時(shí)間限制的查詢語句。您可以通過以下步驟啟用慢查詢?nèi)罩荆?/p>
a.用文本編輯器打開MySQL配置文件/etc/mysql/mysql.cnf
b.在[mysqld]下添加以下行:
slow_query_log = 1
slow_query_log_file = /var/log/mysql/mysql-slow.log
long_query_time = 2
c.為了讓更改生效,請使用以下命令重啟MySQL服務(wù):
$ sudo service mysql restart
d.打開/var/log/mysql/mysql-slow.log查看日志。
3.查看二進(jìn)制日志
二進(jìn)制日志記錄了MySQL服務(wù)器上的所有更改。通過它,您可以還原數(shù)據(jù)庫的歷史修改。為了查看和搜索二進(jìn)制日志,您需要使用mysqlbinlog工具。下面是使用mysqlbinlog列出二進(jìn)制日志內(nèi)容的示例命令:
$ mysqlbinlog /var/lib/mysql/mysql-bin.000123
二、Oracle
Oracle是一種商用的關(guān)系型數(shù)據(jù)庫系統(tǒng)。以下是訪問Oracle日志的幾種方式。
1.查看Alert日志
Alert日志是Oracle數(shù)據(jù)庫系統(tǒng)的核心文件之一,記錄了關(guān)鍵信息,如數(shù)據(jù)庫啟動(dòng)和關(guān)閉、數(shù)據(jù)庫故障、重做日志切換等等。它通常保存在目錄$ORACLE_HOME/rdbms/log/alert_SID.log中。
2.查看跟蹤文件
跟蹤文件包含了啟動(dòng)或運(yùn)行SQL語句時(shí)產(chǎn)生的詳細(xì)信息。通常情況下,在解決Oracle數(shù)據(jù)庫中的問題時(shí),跟蹤文件是必須的。跟蹤文件可以在參數(shù)文件中顯式啟用,或者使用ALTER SESSION設(shè)置跟蹤選項(xiàng)。
$ ALTER SESSION SET SQL_TRACE=TRUE;
三、MongoDB
MongoDB是一種流行的非關(guān)系型數(shù)據(jù)庫,以下是如何訪問日志文件的方法。
1.查看日志文件
MongoDB的日志文件默認(rèn)是/var/log/mongodb/mongod.log。您可以通過以下命令訪問日志:
$ cat /var/log/mongodb/mongod.log
如果您想在文件末尾追加內(nèi)容,則可以使用以下命令:
$ tl -f /var/log/mongodb/mongod.log
2.啟用慢查詢?nèi)罩?/p>
慢查詢?nèi)罩居涗浟藢?shí)際執(zhí)行時(shí)間超過特定時(shí)間限制的操作。MongoDB的慢查詢?nèi)罩就ㄟ^設(shè)置慢查詢閾值而啟用。要在MongoDB中啟用慢查詢?nèi)罩荆埌凑找韵虏襟E操作:
a.進(jìn)入MongoDB控制臺
$ mongo
b.設(shè)置慢查詢門檻
> db.setProfilingLevel(1,100)
門檻是指執(zhí)行時(shí)間超過100毫秒的操作。
c.查看慢查詢?nèi)罩?/p>
$ tl -f /var/log/mongodb/mongod.log
無論您選擇哪種數(shù)據(jù)庫管理系統(tǒng),查看日志文件是非常有用的,因?yàn)樗梢詭椭业胶徒鉀Q干擾數(shù)據(jù)庫的問題。如果您對數(shù)據(jù)庫操作不熟悉,那么建議聯(lián)系專業(yè)人員。
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián)為您提供網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)頁設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù)!
如何查看mysql數(shù)據(jù)庫操作記錄日志
這是一個(gè)慢查詢?nèi)罩镜恼故炯棺尮ぞ撸軌驇椭?DBA 或者開櫻正局發(fā)人員分析數(shù)據(jù)庫的性能問題,給出全面的數(shù)據(jù)擺脫直接查看 slow-log。QAN(Query Analytics)
PMM 目前有 2 個(gè)版本,但是對于 QAN 來說其大致由三部分組成:
QAN-Agent(client):負(fù)責(zé)采集 slow-log 的數(shù)據(jù)并上報(bào)到服清搭務(wù)端
QAN-API(server):負(fù)責(zé)存儲(chǔ)采集的數(shù)據(jù),并對外提供查詢接口
QAN-APP:專門用來展示慢查詢數(shù)據(jù)的 grafana 第三方插件
1. 數(shù)據(jù)流轉(zhuǎn)
slow-log –> QAN-Agent –> QAN-API QAN-APP(grafana)
2. pmm1 架構(gòu)圖
3. pmm2 架構(gòu)圖
1、首先確認(rèn)你日志是否啟用了mysql>show variables like ‘log_bin’。
2、如果啟用了,敗碼即ON,那日志文件就在mysql的安裝目錄的data目昌枯高錄下。
3、怎樣知道當(dāng)前的日志mysql> show master status。
4、看
二進(jìn)制
日志文件用mysqlbinlog,shell>mysqlbinlog mail-bin.000001或者shell>mysqlbinlog mail-bin.| tail,Windows 下用類似的。
MySQL的日志操作:
1、首先,登陸mysql后,執(zhí)行
sql語句
:show variables like ‘log_bin’。
2、#錯(cuò)誤日志log-errol開啟方式:在my.ini的選項(xiàng)下:添加代碼:log-error=E:\log-error.txt。
記錄內(nèi)容:主要是耐尺記錄啟動(dòng)、運(yùn)行或停止mysqld時(shí)出現(xiàn)的致命性問題,都是系統(tǒng)級的錯(cuò)誤記錄。
3、#查詢?nèi)罩荆簂og,開啟方式:在my.ini的選項(xiàng)下:添加代碼:log=E:/mysql_log.txt。
4、#二進(jìn)制日志:log-bin,開啟方式:在my.ini的選項(xiàng)下:添加代碼:log-bin=E:/mysql_log_bin,記錄內(nèi)容:主要是記錄所有的更改數(shù)據(jù)的語句,可使用mysqlbinlog命令
恢復(fù)數(shù)據(jù)
。
一.錯(cuò)誤日志
錯(cuò)誤日志在Mysql數(shù)據(jù)庫中很重要,它記錄著mysqld啟動(dòng)和停止,以及服務(wù)器在運(yùn)行過程中發(fā)生的任何錯(cuò)誤的相關(guān)信息。
1.配置信息
–log-error=用來指定錯(cuò)誤日志存放叢盯的位置。
如果沒有指定,默認(rèn)hostname.err做為文件名,默認(rèn)存放在DATADIR目錄中。
也可以將log-error配置到my.cnf文前納件中,這樣就省去了每次在啟動(dòng)mysqld時(shí)都手工指定–log-error.例如:
$ vi /etc/my.cnf
# The MySQL server
….
log-error = /var/lib/mysql/test2_mysqld.err
…..
2.錯(cuò)誤信息樣板
:21:55 mysqld started
:21:55 InnoDB: Started; log sequence number
:21:55 /usr/local/mysql/bin/mysqld: ready for connections.
Version: ‘5.0.26-standard-log’ socket: ‘/var/lib/mysql/mysql.sock’ port: 3306 MySQL Community Edition – Standard (GPL)
:24:13 /usr/local/mysql/bin/mysqld: Normal shutdown
:24:13 InnoDB: Starting shutdown…
:24:16 InnoDB: Shutdown completed; log sequence number
:24:16 /usr/local/mysql/bin/mysqld: Shutdown complete
:24:16 mysqld ended
:24:47 mysqld started
:24:47 InnoDB: Started; log sequence number
:24:47 /usr/local/mysql/bin/mysqld: ready for connections.
Version: ‘5.0.26-standard-log’ socket: ‘/var/lib/mysql/mysql.sock’ port: 3306 MySQL Community Edition – Standard (GPL)
:33:49 /usr/local/mysql/bin/mysqld: Normal shutdown
三.查詢?nèi)罩?/p>
查詢滲悔和日志記錄了clinet的所有的語句。
Note:由于log日志記錄了數(shù)據(jù)庫所有操作,對于訪問頻繁的系統(tǒng),此種日志會(huì)造成性能影響,建議關(guān)閉。
1.配置信息
–log=用來指定錯(cuò)誤日志存放的位置。
如果沒有指定,默認(rèn)為主機(jī)名(hostname)做為文件名,默認(rèn)存放在DATADIR目錄中。
也可以將log配置到my.cnf文件中,這樣就省去了每次在啟動(dòng)mysqld時(shí)都手工指定–log.例如:
# The MySQL server
……
#query-log
log = /var/lib/mysql/query_log.log
……
2.讀取查詢?nèi)罩?/p>
查詢?nèi)罩臼羌兾谋靖窨?,可以使用OS文本讀取工具直接打開查看。例如:
$ tail -n 15 query_log.log
:58:28 17 Query show tables
:07:45 17 Quit
:01:48 18 Connect root@localhost on
:02:38 18 Query SELECT DATABASE()
18 Init DB test
:02:42 18 Query show tables
:03:07 18 Query select * from pet
:06:26 18 Query insert into pet values(‘hunter’,’yxyup’,’cat’,’f’,”,null)
:06:39 18 Query select * from pet
:07:13 18 Query update pet set sex=’m’ where name=’hunter’
:07:38 18 Query delete from pet where name=’hunter’
:13:48 18 Query desc test8
:14:13 18 Query create table t1(id int,name char(10))
:14:41 18 Query alter table t1 add sex char(2)
$
四.慢查詢?nèi)罩?/p>
慢查詢?nèi)罩臼怯涗浟藞?zhí)行時(shí)間超過參數(shù)long_query_time(單位是秒)所設(shè)定值的SQL語句日志。
Note:慢查詢?nèi)罩緦τ谖覀儼l(fā)現(xiàn)性能有問題的SQL有很幫助,建議使用并經(jīng)常分析
1.配置信息
–log-slow-queries=用來指定錯(cuò)誤日志存放的位置。
如果沒有指定,默認(rèn)為hostname-slow.log做為文件名,默認(rèn)存放在DATADIR目錄中。
也可以將log-slow-queries配置到my.cnf文件中,這樣就省去了每次在啟動(dòng)mysqld時(shí)都手工指定–log-slow-queries.例如:
# The MySQL server
……
#slow-query-log
log-slow-queries = /var/lib/mysql/slow_query_log.log
……
2.讀取慢查詢?nèi)罩?/p>
$ cat slow_query_log.log
/usr/local/mysql/bin/mysqld, Version: 5.0.26-standard-log. started with:
Tcp port: 3306 Unix socket: /var/lib/mysql/mysql.sock
Time Id Command Argument
# Time::41:46
# User@Host: root @ localhost
# Query_time: 108 Lock_time: 0 Rows_sent: 0 Rows_examined: 8738
use test;
select count(1) from t1 a, t1 b,t1 c where a.id=b.id and b.name=c.name;
# Time::52:04
# User@Host: root @ localhost
# Query_time: 583 Lock_time: 0 Rows_sent: 0 Rows_examined:
select count(1) from t1 a, t1 b where a.id=b.id;
/usr/local/mysql/bin/mysqld, Version: 5.0.26-standard-log. started with:
Tcp port: 3306 Unix socket: /var/lib/mysql/mysql.sock
Time Id Command Argument
# Time::39:59
# User@Host: root @ localhost
# Query_time: 11 Lock_time: 0 Rows_sent:Rows_examined:
use test;
select id from tail;
如果慢查詢?nèi)罩居涗浐芏嗫梢允褂胢ysqldumpslow進(jìn)行分類匯總
$ mysqldumpslow slow_query_log.log
Reading mysql slow query log from slow_query_log.log
Count: 1 Time=583.00s (583s) Lock=0.00s (0s) Rows=0.0 (0), root@localhost
select count(N) from t1 a, t1 b where a.id=b.id
Count: 1 Time=108.00s (108s) Lock=0.00s (0s) Rows=0.0 (0), root@localhost
select count(N) from t1 a, t1 b,t1 c where a.id=b.id and b.name=c.name
Count: 1 Time=11.00s (11s) Lock=0.00s (0s) Rows=.0 (), root@localhost
select id from tail;
mysql有以下幾種日志:
錯(cuò)誤日志: -log-err
查詢?nèi)罩荆?-log
慢查詢?nèi)罩? -log-slow-queries
更新日志: -log-update
二進(jìn)制日志: -log-bin
在mysql的安裝目錄下,打開my.ini,在后面加上上面的參數(shù),保存后重啟mysql服務(wù)就行了。
例如:
#Enter a name for the binary log. Otherwise a default name will be used.
#log-bin=
#Enter a name for the query log file. Otherwise a default name will be used.
#log=
#Enter a name for the error log file. Otherwise a default name will be used.
log-error=
#Enter a name for the update log file. Otherwise a default name will be used.
#log-update=
查看日至:
1. 首先確認(rèn)你日志是否啟用了
mysql>show variables like ‘log_bin’;
如果啟用了,即ON
那日志文件就在mysql的安裝目錄的data目錄下
cat/tail 日志文件名
2. 怎樣知道當(dāng)前的日志
mysql> show master status;
3. 查看從某一段時(shí)間到某一段時(shí)間的日志
mysqlbinlog –start-datetime=’:00:00′
–stop-datetime=’:00:00′ /var/log/mysql/mysql-bin.
> mysqllog1.log
是否啟用了日志
mysql>show variables like ‘log_bin’;
怎樣知道當(dāng)前的日志
mysql> show master status;
看二進(jìn)制日志文件用mysqlbinlog
shell>mysqlbinlog mail-bin.000001(要寫絕對問題路徑
或者
shell>mysqlbinlog mail-bin.| tail
Windows 下用類似的命洞扮令。
mysql有以下幾種日志:
錯(cuò)誤日志: -log-err
查詢?nèi)罩荆?nbsp; -log
慢查詢?nèi)罩? -log-slow-queries
更新日志: -log-update
二進(jìn)制日志:-log-bin
在mysql的安裝目錄下,打開my.ini,在后面加上上面的參數(shù),保存后重啟納敬灶mysql服務(wù)就行了。
例如:
#Enter a name for the error log file. Otherwise a default name will be used.
稿鎮(zhèn) log-error=err.log
#Enter a name for the query log file. Otherwise a default name will be used.
#log=
#Enter a name for the slow query log file. Otherwise a default name will be used.
#log-slow-queries=
#Enter a name for the update log file. Otherwise a default name will be used.
#log-update=
#Enter a name for the binary log. Otherwise a default name will be used.
#log-bin=
上面只開啟了錯(cuò)誤日志,要開其他的日志就把前面的“#”去掉。
long_query_time =1 –是指執(zhí)行超過多久的sql會(huì)被log下來,這里是1秒
log-slow-queries=slowqueris.log –將查詢返回較慢的語句進(jìn)行記錄
log-queries-not-using-indexes = nouseindex.log –就是字面意思,log下來沒有使用索引的query
log=mylog.log –對所有執(zhí)行語句進(jìn)行記錄
log-error=log-error.log
log=log-query.log
log-queries-not-using-indexes
log-warnings=2
log-slow-queries=log-slow-query.log
log-update=log-update.log
sql server 2023怎么查看日志文件
1、 在SQL Server 7.0和SQL Server2023中,可以用下面的命令查看:
DBCC log ( {dbid|dbname}, )
參數(shù):
Dbid or dbname – 任一數(shù)據(jù)庫的ID或名字
type – 輸出結(jié)果的類型:
0 – 最少信息(operation, context, transaction id)
1 – 更多信息(plus flags, tags, row length)
2 – 非常詳細(xì)的信息(plus object name, index name,page id, slot id)
3 – 每種操作的全部信息
4 – 每種操作的全部信息加上該事務(wù)的16進(jìn)制信息
默認(rèn) type = 0
要查看MSATER數(shù)據(jù)庫的事務(wù)日志可以用以下命令:
DBCC log (master)
在SQL Server 7.0和SQL Server2023中,可以用下面的命令查看:
DBCC log ( {dbid|dbname}, )
參數(shù):
Dbid or dbname – 任一數(shù)據(jù)庫的ID或名字
type – 輸出結(jié)果的類型:
0 – 最少信息(operation, context, transaction id)
1 – 更多信息(plus flags, tags, row length)
2 – 非常詳細(xì)的信息(plus object name, index name,page id, slot id)
3 – 每種操作的全部信息
4 – 每種操作的全部信息加上該事務(wù)的16進(jìn)制信息
默認(rèn) type = 0
要查看MSATER數(shù)據(jù)庫的事務(wù)日志可以用以下命令:
DBCC log (master)
釋放日志空間
1.清空日志
DUMP TRANSACTION 庫名 WITH NO_LOG
2.截?cái)嗍聞?wù)日志:
BACKUP LOG 數(shù)據(jù)庫名 WITH NO_LOG
3.收縮數(shù)據(jù)庫文件(如果不壓縮,數(shù)據(jù)庫的文件不會(huì)減小
企業(yè)管理器–右鍵你要壓縮的數(shù)據(jù)庫–所有任務(wù)–收縮數(shù)據(jù)庫–收縮文件
–選擇日志文件–在收縮方式里選擇收縮至XXM,這里會(huì)給出一個(gè)允許收縮到的最小M數(shù),直接輸入這個(gè)數(shù),確定就可以了
–選擇數(shù)據(jù)文件–在收縮方式里選擇收縮至XXM,這里會(huì)給出一個(gè)允許收縮到的最小M數(shù),直接輸入這個(gè)數(shù),確定就可以了
也可以用SQL語句來完成
–收縮數(shù)據(jù)庫
DBCC SHRINKDATABASE(客戶資料)
–收縮指定數(shù)據(jù)文件,1是文件號,可以通過這個(gè)語句查詢到:select * from sysfiles
DBCC SHRINKFILE(1)
4.為了更大化的縮小日志文件(如果是sql 7.0,這步只能在查詢分析器中進(jìn)行)
a.分離數(shù)據(jù)庫:
企業(yè)管理器–服務(wù)器–數(shù)據(jù)庫–右鍵–分離數(shù)據(jù)庫
b.在我的電腦中刪除LOG文件
c.附加數(shù)據(jù)庫:
企業(yè)管理器–服務(wù)器–數(shù)據(jù)庫–右鍵–附加數(shù)據(jù)庫
此法將生成新的LOG,大小只有500多K
或用代碼:
下面的示例分離 pubs,然后將 pubs 中的一個(gè)文件附加到當(dāng)前服務(wù)器。
a.分離
E X E C sp_detach_db @dbname = ‘pubs’
b.刪除日志文件
c.再附加
E X E C sp_attach_single_file_db @dbname = ‘pubs’,
@physname = ‘c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf’
5.為了以后能自動(dòng)收縮,做如下設(shè)置:
企業(yè)管理器–服務(wù)器–右鍵數(shù)據(jù)庫–屬性–選項(xiàng)–選擇”自動(dòng)收縮”
–SQL語句設(shè)置方式:
E X E C sp_dboption ‘?dāng)?shù)據(jù)庫名’, ‘a(chǎn)utoshrink’, ‘TRUE’
6.如果想以后不讓它日志增長得太大
企業(yè)管理器–服務(wù)器–右鍵數(shù)據(jù)庫–屬性–事務(wù)日志
–將文件增長限制為xM(x是你允許的更大數(shù)據(jù)文件大小)
–SQL語句的設(shè)置方式:
alter database 數(shù)據(jù)庫名 modify file(name=邏輯文件名,maxsize=20)
特別注意:
請按步驟進(jìn)行,未進(jìn)行前面的步驟,請不要做后面的步驟
否則可能損壞數(shù)據(jù)庫.
一般不建議做第4,6兩步
第4步不安全,有可能損壞數(shù)據(jù)庫或丟失數(shù)據(jù)
第6步如果日志達(dá)到上限,則以后的數(shù)據(jù)庫處理會(huì)失敗,在清理日志后才能恢復(fù).
另外提供一種更簡單的方法,建議大家使用。
更簡單的方法:
1。右建數(shù)據(jù)庫屬性窗口–故障還原模型–設(shè)為簡單
2。右建數(shù)據(jù)庫所有任務(wù)–收縮數(shù)據(jù)庫
3。右建數(shù)據(jù)庫屬性窗口–故障還原模型–設(shè)為大容量日志記錄
方法一:
可以通過執(zhí)行該命令來查看錯(cuò)誤日志信息:exec xp_readerrorlog
方法二:
在SQL SERVER Management Studio中連接該sql server實(shí)例,object Explorer中查找Management->SQL Server logs->右鍵選view-》選擇你要看的日志信息(sql server log or sql server and Windows log)
方法三:
去安裝路徑下去找你的log文件,我的默認(rèn)實(shí)例路徑如下
如何查詢Oracle數(shù)據(jù)庫的操作日志
方法1:使用LogMiner工具
優(yōu)點(diǎn):可以完全挖掘日志內(nèi)容,找出所有執(zhí)行過的SQL語句
缺點(diǎn):
1.
如果沒有啟用歸檔日志,則只能對聯(lián)機(jī)日志進(jìn)行挖掘
2.
需要掌握LogMiner的用法
訪法2:查看HIST視圖
優(yōu)點(diǎn):簡單,只要使用普通的select語句查詢
缺點(diǎn):Oracle保留約1周的歷史,所以要查太早的就不可能了
—
找出哪個(gè)數(shù)據(jù)庫用戶用什么程序在最近三天執(zhí)行過delete或truncate
table的操作
舉例如下:
SELECT
c.username,
a.program,
b.sql_text,
b.command_type,
a.sample_time
FROM
dba_hist_active_sess_history
a
JOIN
dba_hist_sqltext
b
ON
a.sql_id
=
b.sql_id
JOIN
dba_users
c
ON
a.user_id
=
c.user_id
WHERE
a.sample_time
BETWEEN
SYSDATE
–
AND
SYSDATE
AND
b.command_type
IN
(7,
85)
ORDER
BY
a.sample_time
DESC;
數(shù)據(jù)庫日志在哪看的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于數(shù)據(jù)庫日志在哪看,如何查看數(shù)據(jù)庫日志?,如何查看mysql數(shù)據(jù)庫操作記錄日志,sql server 2023怎么查看日志文件,如何查詢Oracle數(shù)據(jù)庫的操作日志的信息別忘了在本站進(jìn)行查找喔。
創(chuàng)新互聯(lián)(cdcxhl.com)提供穩(wěn)定的云服務(wù)器,香港云服務(wù)器,BGP云服務(wù)器,雙線云服務(wù)器,高防云服務(wù)器,成都云服務(wù)器,服務(wù)器托管。精選鉅惠,歡迎咨詢:028-86922220。
名稱欄目:如何查看數(shù)據(jù)庫日志?(數(shù)據(jù)庫日志在哪看)
本文網(wǎng)址:http://www.dlmjj.cn/article/copsgpc.html


咨詢
建站咨詢
