MySQL Yavaş Sorgu Günlükleri: Bir Ayrıntı Kılavuzu

Yayınlanan: 2023-08-01
Aşk yaymak

Makale, MySQL yavaş sorgu günlüklerinin net bir şekilde anlaşılmasını ve bunların etkili bir şekilde nasıl yorumlanacağını sağlamak için tasarlanmış kısa ama kapsamlı bir kaynaktır. Bu kılavuz, yavaş sorgu günlüklerini çevreleyen karmaşıklıkları çözmeyi ve kullanıcıların performans darboğazlarını ve potansiyel veritabanı sorunlarını belirlemesini ve ele almasını sağlamayı amaçlamaktadır.

MySQL için Yavaş Sorgu Günlüğünü etkinleştirmenin, sunucunuzu etkileyebilecek performans ve verimlilik zorluklarını teşhis etmede değerli bir varlık olduğu kanıtlanmıştır. Oldukça yavaş yürütme sürelerine sahip sorguları saptayarak, sorgulardan sorumlu uygulamayı yeniden yapılandırarak veya sorguların kendisini optimize ederek bunları etkili bir şekilde ele alma becerisi kazanırsınız. Bu proaktif yaklaşım, sorgularınızın optimum verimlilikle oluşturulmasını sağlar ve sonuç olarak genel sistem performansının iyileştirilmesine yol açar.

İçindekiler

MySQL'e Giriş

MySQL, çeşitli web uygulamaları ve yazılımları için verileri depolamak, yönetmek ve almak için yaygın olarak kullanılan en popüler açık kaynaklı ilişkisel veritabanı yönetim sistemlerinden biridir. Herhangi bir karmaşık veritabanı sisteminde olduğu gibi, MySQL, faaliyetleri ve performansı hakkında temel bilgileri kaydetmek için sağlam bir kayıt mekanizması sağlar. Bu günlükler, veritabanının davranışını izleme ve sorun gidermede çok önemli bir rol oynar ve sistemin sağlığı ve verimliliği hakkında değerli bilgiler sağlayabilir.

MySQL Tarafından Oluşturulan Günlük Türleri

MySQL tarafından oluşturulan ve her biri belirli bir amaca hizmet eden birkaç günlük türü vardır:

  1. Genel Sorgu Günlüğü : Bu günlük, kaynağından bağımsız olarak sunucuda yürütülen her SQL sorgusunu kaydeder. Yürütülen sorguların sırasını anlamak ve hata ayıklamak için güçlü bir araçtır, ancak aynı zamanda büyük miktarda veri üretebilir ve bu da onu esas olarak kısa vadeli teşhis için uygun hale getirir.
  2. Hata Günlüğü: Hata Günlüğü, MySQL sunucusunun çalışması sırasında karşılaşılan hataları yakalar. Bu hatalar, veritabanının işlevselliğini etkileyebilecek başlatma, kapatma veya diğer kritik hatalar ile ilgili sorunları içerebilir. Hata Günlüğünü izlemek, yöneticilerin potansiyel sorunları hızlı bir şekilde belirlemesine ve ele almasına yardımcı olur.
  3. Yavaş Sorgu Günlüğü: Daha önce belirtildiği gibi, Yavaş Sorgu Günlüğü, yürütülmesi önceden tanımlanmış bir eşikten daha uzun süren sorguları kaydeder. Bu günlük, performans darboğazlarını ve verimsiz sorguları belirlemede etkilidir ve yöneticilerin veritabanının genel performansını optimize etmesine ve geliştirmesine olanak tanır.
  4. İkili Günlük: İkili Günlük, veritabanında yapılan tüm veri değişikliklerinin (eklemeler, güncellemeler ve silmeler) bir kaydını içerir. Çoğaltma amacıyla kullanılır ve verilerin birden fazla MySQL sunucusunda senkronize edilmesine olanak tanır.
  5. Geçiş Günlüğü: Geçiş Günlüğü, MySQL çoğaltmasına özeldir. Bir replikasyon kurulumunda bağımlı sunucuda yürütülmeden önce ana sunucudan alınan verileri depolar.

MySQL Yavaş Sorgu Günlüğü Nasıl Etkinleştirilir?

MySQL veya MariaDB için yavaş sorgu günlüğünü etkinleştirme adımları aşağıdadır.

  1. Öncelikle, Bitwise kullanarak SSH'de oturum açmanız gerekir. Bitwise SSH İstemcisini açın. Ana bilgisayar, bağlantı noktası ve kullanıcı adı ayrıntılarınızı sağlayın, ardından Başlangıç ​​Yöntemi açılır menüsünden parolayı seçin ve oturum açma düğmesine tıklayarak devam edin. SSH parolanızı girmenizi isteyen bir açılır pencere belirecektir. Sağlanan alana SSH şifresini girin.
Bitwise kullanarak SSH'de oturum açın
MySQL Yavaş Sorgu Günlükleri: Bir Ayrıntı Kılavuzu

2. Bir metin düzenleyici kullanarak /etc/mysql/my.cnf dosyasına erişin. Bunun için önce Bitwise SSH İstemcisinden Yeni SFTP Penceresine gidin.

Bitwise SSH İstemcisinden Yeni SFTP Penceresine gidin.

Şimdi, Uzak dosyaların arama çubuğuna /etc yazın ve enter tuşuna basın.

MySQL Yavaş Sorgu Günlüğünü Etkinleştir

MySQL veya MariaDB dosyasını açın.

MySQL Yavaş Sorgu Günlüğünü Etkinleştir

Şimdi my.cnf'i seçin, sağ tıklayın ve düzenle'yi tıklayın.

MySQL Yavaş Sorgu Günlüğünü Etkinleştir

Bir metin düzenleyici görünecektir. Aşağıdaki komutları kopyalayın, dosyanın altına yapıştırın ve kaydedin.

 slow_query_log = 1 slow-query_log_file = /var/log/mysql-slow.log long_query_time = 2

3. Şimdi Bitwise terminalini açın ve /var/log/mysql-slow.log dosyasını oluşturmak ve mysql kullanıcısını sahibi olarak atamak için aşağıdaki komutları çalıştırın.

 touch /var/log/mysql-slow.log chown mysql:mysql /var/log/mysql-slow.log

4. MySQL veya MariaDB'yi yeniden başlatmak için aşağıdaki komutu çalıştırın.

 /usr/local/cpanel/scripts/restartsrv_mysql

MySQL Yavaş Sorgu Günlüğünü Oku

Aşağıdakileri kullanarak yavaş sorgu günlüklerini içeren dosyaya erişin:

/var/log/mysql/mysql-slow.log

Günlük dosyasının içinde, her yavaş sorgu bir giriş olarak günlüğe kaydedilir. Bu girişler genellikle zaman damgası, sorgunun yürütme süresi, incelenen satır sayısı ve gerçek SQL ifadesi gibi ayrıntıları içerir.

Yavaş sorgu günlüğünü doğrudan okumak yerine, günlüğün içeriğini ayrıştırmak ve özetlemek için "mysqldumpslow" komutunu kullanmak genellikle daha faydalıdır. Komutu, SSH aracılığıyla root olarak oturum açtığınızda aşağıdaki gibi çalıştırabilirsiniz:

sudo -i mysqldumpslow /var/log/mysql/mysql-slow.log

Aşağıdaki çıktı elde edilecektir:

MySQL Yavaş Sorgu Günlüğünü Oku

SSS

mysqldumpslow komutunun amacı nedir?

mysqldumpslow komutu, MySQL Yavaş Sorgu Günlüğünün içeriğini ayrıştırma ve özetleme amacına hizmet eder. Günlük dosyasından, en sık meydana gelen yavaş sorgular ve ilgili yürütme süreleri hakkında ayrıntılar da dahil olmak üzere değerli bilgileri çıkarmanıza olanak tanır. mysqldumpslow /var/log/mysql/mysql-slow.log komutunu çalıştırarak, yavaş sorguları etkili bir şekilde analiz edebilir ve içgörüler elde edebilirsiniz.

Uzun süreli izleme için Yavaş Sorgu Günlüğünü kullanabilir miyim?

Yavaş Sorgu Günlüğünün kısa vadeli tanılama için değerli olduğu kanıtlansa da, uzun süreler boyunca etkinleştirilmesi önemli miktarda veri üretilmesine neden olabilir. Uzun vadeli izlemeyi kolaylaştırmak için, izleme araçları ve performans analizi çözümleri kullanmak gibi alternatif yaklaşımların araştırılması önerilir. Bunu yapmak, aşırı girişlerle günlüğün taşmasını önlemeye yardımcı olur ve zaman içinde veritabanı performansının etkin yönetimini sağlar.

Yavaş Sorgu Günlüğü, veritabanı performans sorunlarını teşhis etmede nasıl yardımcı olabilir?

Yavaş Sorgu Günlüğü, yavaş yürütme sürelerine sahip sorguları tanımladığı için veritabanı performans sorunlarının tanılanmasında hayati bir rol oynar. Yöneticiler, bu yavaş sorguların analizi yoluyla veri tabanındaki performans darboğazlarını ve verimsizliklerini tam olarak belirleyebilir. Bu bilgilerle donanmış olarak, genel sistem performansını önemli ölçüde artırmak için sorguları optimize etmeye, uygulamaları yeniden yapılandırmaya veya temel değişiklikleri uygulamaya devam edebilirler.

Yavaş Sorgu Günlüğünden alınan bilgilere dayalı olarak sorguları nasıl optimize edebilirim?

Günlükten yavaş sorguları belirledikten sonra, bunları çeşitli yöntemlerle optimize etme olanağına sahipsiniz. Bu, uygun dizinlerin eklenmesini, sorguların yeniden yazılmasını veya veritabanı şemasının yeniden yapılandırılmasını içerir. Ayrıca, EXPLAIN ve profil oluşturma gibi sorgu optimizasyon tekniklerini kullanmak, değerli içgörüler sağlayabilir ve sorgu performansında önemli gelişmelere katkıda bulunabilir.

Yavaş Sorgu Günlüğü yalnızca MySQL için mi geçerli yoksa diğer veritabanı sistemleriyle birlikte kullanılabilir mi?

Yavaş Sorgu Günlüğü, MySQL ve MariaDB veritabanı sistemleri için özel olarak tasarlanmıştır. Diğer veritabanı yönetim sistemleri karşılaştırılabilir özellikler sunsa da, günlük biçiminin ve etkinleştirme yöntemlerinin farklı sistemler arasında değişebileceğini unutmamak önemlidir.