這篇文章主要為大家展示了“mysql中g(shù)eneral_log日志知識點有哪些”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學習一下“mysql中g(shù)eneral_log日志知識點有哪些”這篇文章吧。
成都創(chuàng)新互聯(lián)公司是專業(yè)的伊犁網(wǎng)站建設(shè)公司,伊犁接單;提供成都網(wǎng)站設(shè)計、成都做網(wǎng)站,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務;采用PHP框架,可快速的進行伊犁網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!以下操作演示都是基于mysql5.6.36版本:
工作中經(jīng)常遇到這樣的問題:mysql數(shù)據(jù)訪問能量很大,想要從sql方面優(yōu)化。研發(fā)經(jīng)常會問到能看到哪些SQL執(zhí)行比較頻繁嗎?回道:不能哦,只能看到當前正在運行的SQL和慢日志里記錄的SQL。因為為了性能考慮,一般general log不會開啟。slow log可以定位一些有性能問題的sql,而general log會記錄所有的SQL。然而有時候生產(chǎn)上的mysql出現(xiàn)性能問題,短時間開啟general log,來獲取sql執(zhí)行的情況,對排查和分析mysql的性能問題,還是有很大的幫助的?;蛘呤怯袝r候,不清楚程序執(zhí)行了什么sql語句,但是又要排除錯誤,找不到原因的情況下,也是可以短暫的開啟這個general log日志的。
mysql5.0版本,如果要開啟slow log、general log,需要重啟,從MySQL5.1.6版開始,general query log和slow query log開始支持寫到文件或者數(shù)據(jù)庫表兩種方式,并且日志的開啟,輸出方式的修改,都可以在Global級別動態(tài)修改。
開啟general log有很多的方式。
下面簡單介紹和演示下:
方法一:更改my.cnf配置文件
[root@git-server ~]# grep general_log /etc/my.cnf general_log = 1 general_log_file = /tmp/general.log
重新啟動mysql,這個操作相當于是永久生效。當然這種方式是不允許在生產(chǎn)上采用的。因為要重啟mysql,會中斷mysql的業(yè)務。同時general.log會記錄所有的關(guān)于mysql的DDL和DML語句,非常消耗資源,一般都是在協(xié)助排除mysql故障時,臨時短暫的開啟幾分鐘。事后都要關(guān)閉的。
方法二:在mysql命令控制臺操作
需要root用戶才有訪問此文件的權(quán)限
默認這個日志是被關(guān)閉掉的。
mysql> show global variables like '%general%'; +------------------+---------------------------------+ | Variable_name | Value | +------------------+---------------------------------+ | general_log | OFF | | general_log_file | /data/mysql/data/git-server.log | +------------------+---------------------------------+ 2 rows in set (0.00 sec) mysql>
有時需要臨時開啟MySQL的全局general_log,可以登錄mysql直接設(shè)置日志的路徑并開啟general_log
mysql> set global general_log_file='/tmp/general_log'; Query OK, 0 rows affected (0.00 sec) mysql> set global general_log=on; Query OK, 0 rows affected (0.02 sec) mysql> show global variables like '%general%'; +------------------+------------------+ | Variable_name | Value | +------------------+------------------+ | general_log | ON | | general_log_file | /tmp/general_log | +------------------+------------------+ 2 rows in set (0.00 sec) mysql> [root@git-server ~]# tailf /tmp/general_log 180717 22:55:51 2 Query show databases 180717 22:56:04 2 Query SELECT DATABASE() 2 Init DB test 180717 22:56:14 2 Query select * from student3
在使用完后可以直接set global general_log=off;關(guān)閉這個日志
方法三:將日志保存在mysql數(shù)據(jù)庫general_log表中
mysql> set global log_output='table'; mysql> set global general_log=on; mysql> use mysql; mysql> select * from test.student3; +----+--------------+------------+--------+------+ | id | teacher_name | teacher_id | name | sex | +----+--------------+------------+--------+------+ | 1 | 花花 | 1 | 三安 | 女 | | 4 | 散散 | 2 | 三安 | 女 | | 6 | bibi | 3 | 三安 | 女 | +----+--------------+------------+--------+------+ 3 rows in set (0.00 sec) mysql> select * from general_log; | 2018-07-17 23:00:12 | root[root] @ localhost [] | 2 | 1132333306 | Query | select * from test.student3
查看/tmp/general.log的信息,可以大致看到哪些sql查詢/更新/刪除/插入比較頻繁了。比如有些表不是經(jīng)常變化的,查詢量又很大,就完全可以cache;對主備延遲要求不高的表,讀可以放到備庫;等等
以上是“mysql中g(shù)eneral_log日志知識點有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計公司行業(yè)資訊頻道!
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
網(wǎng)站欄目:mysql中g(shù)eneral_log日志知識點有哪些-創(chuàng)新互聯(lián)
文章出自:http://aaarwkj.com/article32/ccogsc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、網(wǎng)站導航、網(wǎng)站策劃、全網(wǎng)營銷推廣、標簽優(yōu)化、網(wǎng)站營銷
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容