Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

MySQL/MariaDB Sistem Değişkenlerini (Global/Session) Görüntüleme ve Geçici/Kalıcı Olarak Değiştirme

asternix

Üye
Katılım
14 Mart 2026
Mesajlar
23
Merhaba arkadaşlar, bugün sizlere MySQL veya MariaDB sunucularımızda sıkça ihtiyaç duyduğumuz bir konuyu, sistem değişkenlerini (variables) nasıl yöneteceğimizi anlatacağım. Performans ayarlaması yaparken, bir sorunu giderirken veya sadece mevcut konfigürasyonu kontrol ederken bu komutları bilmek çok işinize yarayacak. Hadi başlayalım!

🔍 Sistem Değişkenleri Nedir?

MySQL/MariaDB'nin çalışma şeklini kontrol eden yüzlerce ayar vardır. Bunlara sistem değişkenleri diyoruz. `max_connections`, `innodb_buffer_pool_size`, `query_cache_size` gibi kritik ayarların hepsi bu kapsamdadır. Bu değişkenlerin iki kapsamı vardır: GLOBAL (tüm sunucu ve yeni bağlantılar için geçerli) ve SESSION (sadece mevcut bağlantınız için geçerli).

⚙️ Değişkenleri Görüntüleme

Hangi değişkenin ne değere sahip olduğunu görmek için `SHOW VARIABLES` komutunu kullanırız. Komutu veritabanı yönetim aracınızda (phpMyAdmin, HeidiSQL, terminal) veya doğrudan MySQL komut satırında çalıştırabilirsiniz.

Tüm değişkenleri listelemek için:
SQL:
SHOW VARIABLES;

Belirli bir değişkeni aramak için `LIKE` kullanın:
SQL:
SHOW VARIABLES LIKE 'innodb_buffer%';

Sadece global değişkenleri görmek isterseniz:
SQL:
SHOW GLOBAL VARIABLES;

🛠️ Değişkenleri Değiştirme (Geçici)

Bir değişkeni geçici olarak değiştirmek, sunucuyu yeniden başlatana kadar veya mevcut oturumunuz sonlanana kadar geçerlidir. Bunun için `SET` komutunu kullanırız.

Global bir değişkeni değiştirmek (sunucuyu yeniden başlatınca eski haline döner):
SQL:
SET GLOBAL max_connections = 500;

Sadece mevcut oturumunuz (SESSION) için değiştirmek:
SQL:
SET SESSION sql_mode = 'STRICT_TRANS_TABLES';

Eğer kapsam belirtmezseniz, varsayılan olarak SESSION kabul edilir. Yani yukarıdaki komut şununla aynıdır:
SQL:
SET sql_mode = 'STRICT_TRANS_TABLES';

⚠️ Dikkat Edilmesi Gerekenler

Dinamik (Dynamic) vs Statik (Static) Değişkenler: Her değişken çalışma anında (runtime) değiştirilemez. `innodb_buffer_pool_size` gibi bazı kritik değişkenler statiktir ve değişikliğin etkili olması için sunucunun yeniden başlatılması gerekir. Bir değişkenin dinamik olup olmadığını öğrenmek için resmi dokümantasyona bakmalısınız.
Geçersiz Değerler: Yanlış bir değer verirseniz (örn: negatif sayı), MySQL genellikle sizi uyarır ve değişikliği kabul etmez.
Yetki: `SET GLOBAL` komutunu kullanabilmek için `SYSTEM_VARIABLES_ADMIN` veya eski adıyla `SUPER` yetkisine sahip olmanız gerekir.

💾 Değişiklikleri Kalıcı Yapma

Geçici değişiklikler sunucu restart edildiğinde kaybolur. Değişikliğin kalıcı olmasını istiyorsanız, konfigürasyon dosyasını (/etc/mysql/my.cnf veya /etc/my.cnf.d/server.cnf) düzenlemeniz gerekir.

Örneğin, `max_connections` değerini kalıcı olarak 500 yapmak için ilgili dosyayı açın ve `[mysqld]` bölümü altına şu satırı ekleyin:
INI:
[mysqld]
max_connections = 500

Değişikliği kaydettikten sonra, değiştirdiğiniz değişken dinamikse sunucuyu yeniden başlatmanıza gerek kalmayabilir. Statik bir değişkense MUTLAKA MySQL/MariaDB servisini yeniden başlatmalısınız:
Bash:
sudo systemctl restart mariadb
# veya
sudo systemctl restart mysql

💡 Pratik İpucu

Ben sunucularda bir ayarı test etmek istediğimde önce `SET GLOBAL` ile geçici olarak uyguluyorum, performansı veya davranışı gözlemliyorum. Eğer sorun yoksa ve sonuçtan memnunsam, o zaman konfigürasyon dosyasına ekleyip kalıcı hale getiriyorum. Bu, canlı sistemlerde hata yapma riskini azaltan güvenli bir yöntem.

Umarım bu rehber işinize yaramıştır. Siz bu konfigürasyonları kendi sunucularınızda nasıl yapıyorsunuz? Farklı bir yönteminiz veya eklemek istediğiniz bir püf noktası var mı? Aşağıya yorum olarak yazabilirsiniz. Sorularınız için çekinmeyin, elimden geldiğince yardımcı olmaya çalışırım.
 

Tema özelleştirme sistemi

Bu menüden forum temasının bazı alanlarını kendinize özel olarak düzenleye bilirsiniz.

Zevkine göre renk kombinasyonunu belirle

Tam ekran yada dar ekran

Temanızın gövde büyüklüğünü sevkiniz, ihtiyacınıza göre dar yada geniş olarak kulana bilirsiniz.

Geri