MySQL Tuning Nedir, Kullanımı
Mysql tuning nedir, mysql nedir, mysql optimizasyonu nasıl yapılır, my.cnf dosyası nerededir gibi sorulara yanıt arayalım.
Mysqltuning perl diliyle yazılmış, mysql ve mariadb performansınızı analiz ederek, sizlere eksiklerin, artıların, optimizasyon için yapılması gereken my.cnf dosyası analizini çıktı olarak sunar. Mysqltuner olarak piyasaya çıkmış olan ilk script zaman içerisinde yenilik katılarak Matthew Montgomery tarafından mysql tuning olarak github sitesinde yayınlanmıştır.
MySQL Tuning-Primer Github Linki : https://github.com/BMDan/tuning-primer.sh
Kendi sunucumun çıktısını yukarıya bırakıyorum.
MySQL Nedir?
MySQL, kurucusu Michael Widenius’un kızının “Benim” olarak adlandırılan ve SQL “Yapılandırılmış Sorgu Dili” anlamına gelen bir İlişkisel Veritabanı Yönetim Sistemidir (RDBMS). Bu veritabanının ilk sürümü 1995’te yayınlandı ve daha sonra Oracle, Sun Microsystems ile birlikteyken Ocak 2010’da aynısını satın aldı.
My.cnf nedir?
My.cnf dosyası linux sunucunuzda yer alan veritabanı yönetim sistemlerinin ayar dosyasıdır. Veritabanı ve sunucunuz için oldukça değerli ve önemi yüksek bir dosya olduğunu unutmayınız. Sunucu optimizasyonlarında genellikle mysql, mariadb ayarları buradan yapılır. Hatta birçok sunucu optimizasyonu yapıyorum(!) diyen arkadaşlarımız my.cnf dosyasını önceden ayarlamış oldukları dosya ile değiştirip, bırakıyorlar. Ve böylelikle sunucu optimizasyonu yaptığını zannediyorlar 🙂
Yani bu ne demek mi oluyor?
Hemen webirinci.com takipçilerine VİP bilgileri aktaralım :)) My.cnf dosyası her sunucu için ayrı ayarlar barındırması gerekir. Orada bulunan bağlantı sayıları, önbellek işlemleri sunucunuzun, veritabanınızın özelliklerine göre değişmektedir.
İşte bu kısımda başkasının kopya bilgisine muhtaç kalmamanız için sizlerin çok kolay kullanacağı mysql tuning (prime) imdadınıza yetişiyor.
Uyarı : My.cnf dosyası boş bırakırsanız NULL yani default ayarlar ile sunucu veritabanı ayarlarını kullanır ve kanser olmak için başka sebep aranmaz.
Uyarı 2: My.cnf dosyasında işlem yapmadan önce yedeğini al, kenara kaydet. Sonra bana yorum kısmında küfür yerine teşekkür mesajını yazabilirsin :))
My.cnf dosyası nerededir?
Bu arada my.cnf dosyası nerede başlığı da google amcamızda oldukça aranıyormuş hemen onun da tarifini verelim.
My.cnf dosyası kullandığınız işletim sistemlerine göre farklı konumlarda yer alır.
Linux sunucular için my.cnf dosyası genellikle burada yer almaktadır:
/etc/my.cnf
/etc/mysql/my.cnf
/usr/etc/my.cnf
~/.my.cnf
Windows sunucularla işim olmadığı için nerededir bilmiyorum 🙂 Her neyse eğer yeni bir linux sistemi gelişir ve bu dosyanın yeri değişirse de linux da bulunan find komutu ile böyle aratabiliriz:
“find / -name my.cnf” ( tırnakları lütfen silerek yazın komutu! )
My.cnf dosyamızı bulduğumuzu farkediyorum ve şimdi tekrar mysql optimizasyon aracı olan MySQL Tuning yazılımına geri dönelim.
MySQL nasıl çalışır?
MySQL, bir istemci-sunucu modeline dayanmaktadır. MySQL’in çekirdeği, tüm veritabanı talimatlarını (veya komutlarını) işleyen MySQL sunucusudur. MySQL sunucusu, istemci-sunucu ağ ortamında kullanım için ayrı bir program ve ayrı uygulamalara yerleştirilebilen (veya bağlanabilen) bir kitaplık olarak mevcuttur.
MySQL, MySQL veritabanlarının yönetimini destekleyen çeşitli yardımcı programlarla birlikte çalışır. Komutlar, bir bilgisayarda kurulu olan MySQL istemcisi aracılığıyla MySQL Server’a gönderilir.
MySQL başlangıçta büyük veritabanlarını hızlı bir şekilde işlemek için geliştirildi. MySQL tipik olarak yalnızca bir makineye kurulu olmasına rağmen, kullanıcılar farklı MySQL istemci arayüzleri aracılığıyla erişebildikleri için veritabanını birden çok konuma gönderebilir. Bu arayüzler sunucuya SQL deyimleri gönderir ve ardından sonuçları görüntüler.
MySQL Tuning / MySQL Tuner Kurulumu Ve Kullanımı
Hemen github linkine gidelim ve kopyalayalım. Daha sonrasında sunucumuza SSH bağlantısı ile bağlanalım. ( Putty kullanabilirsiniz )
Wget komutumuz ile dosyamızı sunucumuza çekelim: wget https://github.com/BMDan/tuning-primer.sh/blob/master/tuning-primer.sh
Gerekli izinlerimizi chmod komutu ile verelim: chmod u+x tuning-primer.sh
ve dosyamızı çalıştıralım: ./tuning-primer.sh
Veee programımız analize başlar. Yazılımın README kısmında veritabanınızın 48 süre boyunca aktif çalışıyor olması gerektiğinden bahseder, tam verim alabilmek için. Buna uymanızda fayda vardır.
Analiz bittikten sonra öneriler ekranınıza 3 renk olarak düşecektir.
- Kırmızılar, önemli ikazlardır, kesinlikle düzeltmeniz gerekenler ayarları içerir.
- Sarı, uyarılar iyileştirmeniz gereken orta düzey puan aldığınız ayarlar ve
- Yeşiller, ise doğru yaptığınız ve tam puan aldığınız uyarılardır.
Bu konu hakkında profesyonel destek için iletişim kısmından bana ulaşabilirsiniz.
Sql update komutu yayınlandı takip edebilirsiniz.