記錄MySQL執行的SQL,記錄MySQL執行SQL

來源:互聯網
上載者:User

記錄MySQL執行的SQL,記錄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 檔案

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.