記錄MySQL資料庫執行的SQL

對比Oracle功能去學習Mysql總會發現亮點

Oracle中通過日志挖掘這一技能,可以找到曾經執行過的所有記錄;

Mysql中也提供瞭3種方法{驗證過的,我會記錄具體做法}

方法1:{已驗證}

記錄MySQL的所有記錄
打開/etc/my.cnf
在[mysqld]下面加入
log = /mnt/mydata/sql.log

重啟mysql即可

查看/mnt/mydata/sql.log文件

註意:

1.因為sql.log會因為有大量的寫入,註意監控IO和sql.log的大小;

2.調試或者查詢完成後,建議關閉改功能

方法2:{暫時未驗證}

查Slow query的SQL語法:
log_slow_queries = /var/log/mysql/mysql-slow.log
long_query_time = 2 (超過2秒的SQL語法記錄起來,設短一點來記錄除錯也是一種方法.)

方法3:{暫時未驗證}

設MySQL Replication用binlog:

log_bin = /var/log/mysql/mysql-bin.log (此檔要用mysqlbinlog解來看,
mysqlbinlog mysql-bin.000042| grep "T_ABC" | grep "column value"
mysql會將所有INSERT/UPDATE/DELETE語法記於此(但是語法可能跟你想的不同),這是要寫給SLAVE用的log 文件

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *