DirectAdmin Veritabanı Kontrolü
Bu makalede, DirectAdmin sunucusunda veritabanı kontrolü yaparken kullanılan temel SQL komutları, log kaydetme yöntemleri ve şüpheli işlemlerin nasıl tespit edileceği detaylı olarak ele alınacaktır. Adım adım açıklamalarla, SSH üzerinden SQL’e bağlanmaktan loglama işlemlerine kadar her aşamayı öğreneceksiniz.
İçindekiler
1. SSH Üzerinden SQL’e Nasıl Bağlanılır?
DirectAdmin sunucunuzda MySQL/MariaDB veritabanına bağlanmak için aşağıdaki adımları takip edebilirsiniz:
Adım 1: SSH ile Bağlanma
Öncelikle SSH ile sunucunuza root yetkileriyle bağlanın. Bunu yapmak için bir terminal açarak şu komutu çalıştırabilirsiniz:
ssh root@sunucu_ip_adresi
Adım 2: MySQL/MariaDB’ye Bağlanma (SSH)
MySQL’e bağlanmak için aşağıdaki komutu kullanabilirsiniz:
mysql -u root -p
Komutun ardından root şifresi sorulacaktır. Şifreyi girdikten sonra MySQL/MariaDB konsoluna giriş yapabilirsiniz. Eğer şifreyi bilmiyorsanız aşağıda 7. adımda anlatıldığı şekilde şifrenizi öğrenebilirsiniz.
2. Log Kaydetme Nasıl Açılır?
SQL işlemlerinin kayıt altına alınması, şüpheli işlemleri tespit etmede oldukça faydalıdır. Ancak dikkat edilmesi gereken nokta, log dosyalarının hızla büyüyebileceğidir.
Adım 1: Genel Loglamayı Etkinleştirme (SQL’e bağlandıktan sonra SSH ile)
MySQL/MariaDB’de genel loglama etkinleştirmek için aşağıdaki komutları çalıştırabilirsiniz:
SET GLOBAL general_log = 'ON';
SET GLOBAL general_log_file = '/var/log/mysql_general.log';
Adım 2: Log Dosyasını Doğrulama ( exit; ile Sql’den SSH’a çıkın)
Log dosyasının başarıyla oluşturulduğunu doğrulamak için:
ls -l /var/log/mysql_general.log
Adım 3: Loglama Durumunu Kontrol Etme (SQL)
Genel loglamanın aktif olup olmadığını kontrol etmek için:
SHOW VARIABLES LIKE 'general_log';
3. Log Kaydetme Hakkında Uyarı
- Genel loglama açıkken, SQL’e gönderilen her sorgu kaydedilecektir. Bu nedenle, büyük ölçekli veritabanlarında log dosyası hızla büyüyebilir ve disk alanını tüketebilir. Bu durumu önlemek için:
- Log dosyasını düzenli olarak kontrol edin.
- Gereksiz yere genel loglamayı açık bırakmayın.
- Loglama işlemi sırasında yalnızca gereken analizleri yaptıktan sonra kapatmayı unutmayın.
Artık veritabanlarınızın anlık işlemlerini aşağıdaki kod ile görebileceksiniz. Ne kadar çok işlem yapıldığına şaşıracaksınız. Buradan çıkmak için Ctrl + C tuşlarına basın. Yoksa bitmez.
tail -f /var/log/mysql_general.log
Sadece son 100 satırı görmek için:
tail -n 50 /var/log/mysql_general.log
4. 1’den Fazla Kullanıcıya Sahip Veritabanları Nasıl Listelenir? (SQL)
Bir veritabanına atanmış birden fazla kullanıcıyı görmek için aşağıdaki SQL sorgusunu kullanabilirsiniz:
SELECT Db, COUNT(User) AS UserCount
FROM mysql.db
GROUP BY Db
HAVING UserCount > 1;
Bu sorgu, birden fazla kullanıcıya sahip olan veritabanlarının listesini ve kullanıcı sayısını gösterir.
5. grep “CREATE USER” Komutuyla Şüpheli Kullanıcıları Tespit Etme
Eğer şüpheli bir kullanıcı oluşturulmuşsa, bu işlemi log dosyalarında arayabilirsiniz.
Adım 1: Log Dosyasını Kontrol Etme (SSH)
Aşağıdaki komutla CREATE USER sorgularını arayabilirsiniz:
grep "CREATE USER" /var/log/mysql_general.log
Adım 2: Şüpheli İşlemleri Tespit Etme
Elde edilen sonuçlarda, CREATE USER ile oluşturulan kullanıcıları görebilir ve şüpheli bir işlem olup olmadığını değerlendirebilirsiniz.
6. Şüpheli İşlem Bulunduğunda Log Kaydetme Nasıl Kapatılır?
Eğer bir sorun tespit ettiyseniz, loglama işlemini kapatarak disk alanını koruyabilirsiniz.
Adım 1: Genel Loglamayı Kapatma (SQL)
Aşağıdaki komutları kullanarak genel loglamayı devre dışı bırakabilirsiniz:
SET GLOBAL general_log = 'OFF';
Adım 2: Log Dosyasını Boşaltma (Opsiyonel) (SSH)
Eğer log dosyası çok büyük hale geldiyse, aşağıdaki komutla silebilirsiniz:
cat /dev/null > /var/log/mysql_general.log
7. SQL Root Şifresi Nasıl Öğrenilir?
Root şifresini bilmiyorsanız, aşağıdaki yöntemlerle öğrenebilirsiniz:
Adım 1: DirectAdmin’den Öğrenme
DirectAdmin’de MySQL yönetim ekranına girerek root şifresini görüntüleyebilirsiniz.
Adım 2: SSH ile Kontrol
Eğer my.cnf dosyasında root şifresi tanımlıysa, şu komutla kontrol edebilirsiniz:
cat /root/.my.cnf
Dosyada password satırında root şifresi yer alır.
Tüm soru, öneri ve görüşleriniz için İletişim linkini kullanabilirsiniz.
Özet
Bu işlemleri yaparken çok dikkatli olmalısınız. Sunucunuzu ve kullanıcılarınızı sitelerinizi mutlaka yedeklemelisiniz. SSH kodlarıyla ve SQL kodlarıyla çalışılırken döndürülemez hatalar yapmak çok kolaydır. Ayrıca loglamayı açtığınızda şüpheli işlemi yakaladıktan sonra kapamayı unutmayın.