1樓:愛可生雲資料庫
這是乙個慢查詢日誌的展示工具,能夠幫助 dba 或者開發人員分析資料庫的效能問題,給出全面的資料擺脫直接檢視 slow-log。qan(query analytics)
pmm 目前有 2 個版本,但是對於 qan 來說其大致由三部分組成:
qan-agent(client):負責採集 slow-log 的資料並上報到服務端
qan-api(server):負責儲存採集的資料,並對外提供查詢介面
1. 資料流轉
2. pmm1 架構圖
3. pmm2 架構圖
2樓:匿名使用者
1、首先確認你日誌是否啟用了mysql>show variables like 'log_bin'。
2、如果啟用了,即on,那日誌檔案就在mysql的安裝目錄的data目錄下。
3、怎樣知道當前的日誌mysql> show master status。
4、看二進位制日誌檔案用mysqlbinlog,shell>mysqlbinlog mail-bin.000001或者shell>mysqlbinlog mail-bin.000001 | tail,windows 下用類似的。
mysql的日誌操作:
1、首先,登陸mysql後,執行sql語句:show variables like 'log_bin'。
2、#錯誤日誌log-errol開啟方式:在my.ini的[mysqld]選項下:新增**:log-error=e:\log-error.txt。
記錄內容:主要是記錄啟動、執行或停止mysqld時出現的致命性問題,都是系統級的錯誤記錄。
3、#查詢日誌:log,開啟方式:在my.ini的[mysqld]選項下:新增**:log=e:/mysql_log.txt。
4、#二進位制日誌:log-bin,開啟方式:在my.
ini的[mysqld]選項下:新增**:log-bin=e:
/mysql_log_bin,記錄內容:主要是記錄所有的更改資料的語句,可使用mysqlbinlog命令恢復資料。
3樓:匿名使用者
一.錯誤日誌
錯誤日誌在mysql資料庫中很重要,它記錄著mysqld啟動和停止,以及伺服器在執行過程中發生的任何錯誤的相關資訊。
1.配置資訊
--log-error=[file-name]用來指定錯誤日誌存放的位置。
如果沒有指定[file-name],預設hostname.err做為檔名,預設存放在datadir目錄中。
也可以將log-error配置到my.cnf檔案中,這樣就省去了每次在啟動mysqld時都手工指定--log-error.例如:
[mysql@test2]$ vi /etc/my.cnf
# the mysql server
[mysqld]
....
log-error = /var/lib/mysql/test2_mysqld.err
.....
2.錯誤資訊樣板
080313 05:21:55 mysqld started
080313 5:21:55 innodb: started; log sequence number 0 43655
080313 5:21:55 [note] /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)
080313 5:24:13 [note] /usr/local/mysql/bin/mysqld: normal shutdown
080313 5:24:13 innodb: starting shutdown...
080313 5:24:16 innodb: shutdown completed; log sequence number 0 43655
080313 5:24:16 [note] /usr/local/mysql/bin/mysqld: shutdown complete
080313 05:24:16 mysqld ended
080313 05:24:47 mysqld started
080313 5:24:47 innodb: started; log sequence number 0 43655
080313 5:24:47 [note] /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)
080313 5:33:49 [note] /usr/local/mysql/bin/mysqld: normal shutdown
三.查詢日誌
查詢日誌記錄了clinet的所有的語句。
note:由於log日誌記錄了資料庫所有操作,對於訪問頻繁的系統,此種日誌會造成效能影響,建議關閉。
1.配置資訊
--log=[file-name]用來指定錯誤日誌存放的位置。
如果沒有指定[file-name],預設為主機名(hostname)做為檔名,預設存放在datadir目錄中。
也可以將log配置到my.cnf檔案中,這樣就省去了每次在啟動mysqld時都手工指定--log.例如:
# the mysql server
[mysqld]
......
#query-log
log = /var/lib/mysql/query_log.log
......
2.讀取查詢日誌
查詢日誌是純文字格可,可以使用os文字讀取工具直接開啟檢視。例如:
[mysql@test2]$ tail -n 15 query_log.log
080313 7:58:28 17 query show tables
080313 8:07:45 17 quit
080313 10:01:48 18 connect root@localhost on
080313 10:02:38 18 query select database()
18 init db test
080313 10:02:42 18 query show tables
080313 10:03:07 18 query select * from pet
080313 10:06:26 18 query insert into pet values('hunter','yxyup','cat','f','1996-04-29',null)
080313 10:06:39 18 query select * from pet
080313 10:07:13 18 query update pet set ***='m' where name='hunter'
080313 10:07:38 18 query delete from pet where name='hunter'
080313 10:13:48 18 query desc test8
080313 10:14:13 18 query create table t1(id int,name char(10))
080313 10:14:41 18 query alter table t1 add *** char(2)
[mysql@test2]$
四.慢查詢日誌
慢查詢日誌是記錄了執行時間超過引數long_query_time(單位是秒)所設定值的sql語句日誌。
note:慢查詢日誌對於我們發現效能有問題的sql有很幫助,建議使用並經常分析
1.配置資訊
--log-slow-queries=[file-name]用來指定錯誤日誌存放的位置。
如果沒有指定[file-name],預設為hostname-slow.log做為檔名,預設存放在datadir目錄中。
也可以將log-slow-queries配置到my.cnf檔案中,這樣就省去了每次在啟動mysqld時都手工指定--log-slow-queries.例如:
# the mysql server
[mysqld]
......
#slow-query-log
log-slow-queries = /var/lib/mysql/slow_query_log.log
......
2.讀取慢查詢日誌
[mysql@test2]$ 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: 080313 5:41:46
# user@host: root[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: 080313 5:52:04
# user@host: root[root] @ localhost
# query_time: 583 lock_time: 0 rows_sent: 0 rows_examined: 508521177
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: 080313 10:39:59
# user@host: root[root] @ localhost
# query_time: 11 lock_time: 0 rows_sent: 4537467 rows_examined: 4537467
use test;
select id from tail;
如果慢查詢日誌記錄很多可以使用mysqldumpslow進行分類彙總
[mysql@test2]$ 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[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[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=4537467.0 (4537467), root[root]@localhost
select id from tail;
mysql有以下幾種日誌:
錯誤日誌: -log-err
查詢日誌: -log
慢查詢日誌: -log-slow-queries
更新日誌: -log-update
二進位制日誌: -log-bin
在mysql的安裝目錄下,開啟my.ini,在後面加上上面的引數,儲存後重啟mysql服務就行了。
例如:#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. 首先確認你日誌是否啟用了
mysql>show variables like 'log_bin';
如果啟用了,即on
那日誌檔案就在mysql的安裝目錄的data目錄下
cat/tail 日誌檔名
2. 怎樣知道當前的日誌
mysql> show master status;
3. 檢視從某一段時間到某一段時間的日誌
mysqlbinlog --start-datetime='2008-01-19 00:00:00'
--stop-datetime='2008-01-30 00:00:00' /var/log/mysql/mysql-bin.000006
> mysqllog1.log
MYSQL資料庫怎麼用?如何匯入MySQL資料庫?
建立下乙個sqlyog,這個很容易入門,有中文簡體版的,樓上固然好,但是對於初學者不是太合適。如何匯入mysql資料庫?3 如果sql檔案的內容中有建立資料庫的語句,或者想將表存放在已有的資料庫,在這裡就不用建立資料庫。6 開始匯入sql檔案,輸入 source sql檔案的路徑 注意檔案路徑要是複...
mysql資料庫和oracle資料庫的區別
1 體積不同。oracle它體積比較龐大,一般是用來開發大型應用 例如分布式 的。而mysql的體積相對來說比較小,較之oracle更容易安裝 維護以及管理,操作也簡單,最重要的是它是三個中唯一乙個開源資料庫,但目前也屬於oracle公司的產品了。2 容量不同。oracle容量無限,根據配置決定 而...
mysql資料庫怎樣建立表,MYsql資料庫怎樣建立表? 20
歐覓潘安然 比如要建立學生表表名為student,學生表有欄位學號 no 年齡 age create table student no int primary key 主鍵 age int 執行下就建立好了 隨便舉的例子,明白吧?謝謝採納! create database cookbook 建立一個...