Bugün esas olarak bir MySQL günlük analizi yapıtını paylaşıyorum-mysqlsla. Mysql veritabanının üç ana günlüğünü analiz etmemiz fena değil.
Mysqlsla, daniel-nichter tarafından perl'de yazılan ve yalnızca Mysql günlüklerini işlemek ve analiz etmek için var olan bir komut dosyasıdır. Bir Mysql DBA olarak, günlük işlerde günlüklerle uğraşmak normaldir.
Mysql aracılığıyla günlükler temel olarak şu bölümlere ayrılır: Genel günlük, yavaş günlük ve ikili günlük. Sorgu günlükleri aracılığıyla iş mantığını ve iş özelliklerini analiz edebiliriz. Yavaş günlük sayesinde, sunucunun darboğazını bulabiliriz. İkili günlük aracılığıyla verileri geri yükleyebiliriz. Mysqlsla, günlüklerden herhangi birini işleyebilir, bu da hoşuma giden ana nedenlerden biri.
Genel olarak, mysql günlüklerini analiz etmeye yönelik araçlarımız şunlardır:
Bir karşılaştırma yapalım
Yukarıdaki özelliklere göre en uygun araçlar mysqlsla ve pt-query-Digest'tir. Mysqlsla ve pt-query-Digest'in yazarı aynı kişidir. Şimdi pt serisi araçların ana gelişimi. Pt araçları bir dahaki sefere tanıtılacak, bugün esas olarak mysqlsla'yı tanıtacağız.
Mysqlsla'nın genel süreci: LOGS (UDL, defalut) - > ayrıştırma- > filtre- > çeşit- > reprot > tekrar oynatın.
Burada söylediğim şey, Mysqlsla herhangi bir günlük işleyebilir. Mysql'nin üç ortak günlüğü varsayılan olarak işlenebilir.
Örneğin: Genel günlük, ikili günlük, yavaş günlük
İndirme bağlantısı: https://github.com/daniel-nichter/hackmysql.com
git klon https://codeload.github.com/daniel-nichter/hackmysql.com/zip/master hackmysql.com-master.zip -d mysql-tool'un sıkıştırmasını açın yum kurulum perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker perl-Time-HiRes perl-DBI perl Makefile.PL kurmak yap1. Yavaş sorguyu açın
global slow_query_log = açık olarak ayarlayın; global long_query_time = 10 olarak ayarlayın; global log_queries_not_using_indexes = on;2. mysqlsla çıkışı
Komut: # mysqlsla -lt slow /data/datafile/ZL-FSL-OCS-DB-slow.log
Biçim açıklaması aşağıdaki gibidir: Toplam sorgu sayısı (toplam sorgu), tekilleştirmeden sonraki sql sayısı (benzersiz) Çıktı raporunun içeriği sıralanır (sıralama ölçütü) Ortalama yürütme süresi, bekleme kilit süresi, sonuç satırlarının toplam sayısı, taranan toplam satır sayısı dahil en önemli yavaş SQL istatistikleri. Sayım, sql yürütme sayısı ve toplam yavaş günlüğün yüzdesi. Zaman, yürütme süresi, toplam süre, ortalama süre, minimum, maksimum süre ve toplam yavaş SQL süresine oran yüzdesi. Zamanın% 95'i, en hızlı ve en yavaş sql'yi kaldırın, kapsama oranı sql'nin yürütme süresinin% 95'ini oluşturur. Kilit Süresi, kilit için bekleme süresi. Kilidin% 95'i, yavaş SQL'in% 95'i kilitlenme süresini bekler. Gönderilen satırlar, ortalama, minimum ve maksimum sayılar dahil olmak üzere sonuç satırlarının istatistiksel sayısı. İncelenen satırlar, taranan satır sayısı. Veritabanının ait olduğu veritabanı Kullanıcı, IP, tüm kullanıcılar tarafından yürütülen SQL yüzdesini hesaplayan kullanıcılar Sorgu özeti, soyutlamadan sonra SQL ifadesi Sorgu örneği, sql ifadesiBu, esas olarak mysqlsla giriş yönlerinin içeriğini düzenlemek içindir ve ardından şablonu nasıl özelleştireceğimi paylaşacağım ve ilgilenen arkadaşlar buna dikkat edebilir ~