r00ts
Hectopat
Daha fazla
- Cinsiyet
- Erkek
MySQL Varsayılan Ayarlarını Değiştirme, Dump Alma ve Cron ile Yedekleme Rehberi
MySQL’in varsayılan ayarlarını özelleştirmek, hem performans hem de yönetim açısından büyük kolaylık sağlar. Bu rehberde; varsayılan zaman dilimi, tablo karakter seti (utf8, latin5, turkish_ci vs.), dump/export alma yöntemleri ve cron ile otomatik yedek alma işlemlerini adım adım anlatacağım.
1. MySQL Varsayılan Ayarlarını Değiştirme
Varsayılan ayarların çoğu MySQL’in yapılandırma dosyasında yer alır.
Bu dosya genellikle şu konumda bulunur:
Kod:
etc/mysql/my.cnf
veya
Kod:
etc/my.cnf
Aşağıdaki örnekte varsayılan zaman dilimini ve tablo karakter setini değiştireceğiz.
Kod:
[mysqld]
# Varsayılan zaman dilimi
default-time-zone = '+03:00'
# Varsayılan karakter seti ve sıralama
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
Değişiklikleri yaptıktan sonra MySQL servisini yeniden başlatın:
Kod:
sudo systemctl restart mysql
Not:
utf8mb4_general_ci genel kullanım için idealdir. Ancak Türkçe içerikli verilerde
utf8mb4_turkish_ci kullanmak, harf sıralamasını daha doğru hale getirir.2. Karakter Setleri Arasındaki Farklar
| Karakter Seti | Açıklama |
|----------------|-----------|
| utf8_general_ci | Hızlı ve genel kullanım için uygun, dil farkı gözetmez. |
| utf8mb4_general_ci | UTF8’in genişletilmiş versiyonu. Emoji desteği içerir. |
| utf8mb4_turkish_ci | Türkçe’ye özel harf sıralaması kurallarını uygular. |
| latin5_turkish_ci | Eski Türkçe karakter desteği, ancak modern projelerde önerilmez. |
Genel tavsiye:
utf8mb4_turkish_ci — Hem uyumluluk hem de doğru sıralama açısından en uygun tercihtir.
3. Konsoldan Dump / Export Alma
MySQL veritabanınızı terminal üzerinden kolayca yedekleyebilirsiniz:
Kod:
mysqldump -u kullanıcı_adı -p veritabani_adi > yedek.sql
Tüm veritabanlarını tek seferde yedeklemek isterseniz:
Kod:
mysqldump -u root -p --all-databases > tum_yedek.sql
Sıkıştırılmış (gzip) şekilde yedek almak için:
Kod:
mysqldump -u root -p veritabani_adi | gzip > yedek.sql.gz
4. PhpMyAdmin Üzerinden Export Alma
1. PhpMyAdmin’e giriş yapın.
2. Sol menüden veritabanınızı seçin.
3. Üst menüden Export sekmesine tıklayın.
4. “Custom” modunu seçin.
5. Format olarak SQL seçili olduğundan emin olun.
6. Karakter setini
[utf8mb4] olarak ayarlayın. 7. Go tuşuna basın.
5. Cron ile Otomatik Dump Alma
Sunucunuzun düzenli yedek almasını istiyorsanız cron kullanabilirsiniz.
Örnek: Her gece saat 03:00’te MySQL dump almak için:
Kod:
crontab -e
Açılan dosyaya aşağıdaki satırı ekleyin:
Kod:
0 3 * * * /usr/bin/mysqldump -u root -p'SIFRENIZ' veritabani_adi > /var/backups/$(date +\%F)_yedek.sql
Alternatif olarak sıkıştırılmış yedek almak için:
Kod:
0 3 * * * /usr/bin/mysqldump -u root -p'SIFRENIZ' veritabani_adi | gzip > /var/backups/$(date +\%F)_yedek.sql.gz
Cron Listesi Görüntüleme:
Kod:
crontab -l
6. Free Software ile Yedekleme (MySQL Front vb.)
MySQL Front gibi grafik arayüzlü ücretsiz yazılımlar da hâlâ birçok durumda iş görüyor.
Özellikle:
- Farklı verileri mevcut tablo alanlarıyla eşleştirme
- Toplu import/export işlemleri
- Görsel olarak tablo yapısını düzenleme
gibi konularda oldukça kullanışlıdır.
Ancak dikkat: MySQL Front’un gelişimi durduğu için son sürümler yeni MySQL versiyonlarında hata verebilir. Bu durumda HeidiSQL veya DBeaver gibi alternatifleri tercih edebilirsiniz.
7. Versiyon Bilgisi Belirtmenin Önemi
AI’lerden veya topluluklardan yardım alırken MySQL versiyonunuzu belirtmek çok önemlidir.
Farklı versiyonlarda bazı parametreler, karakter setleri veya cron davranışları değişiklik gösterebilir.
Versiyonu öğrenmek için:
Kod:
mysql --version
veya MySQL konsolu içinden:
Kod:
SELECT VERSION();
Sonuç
Not:
Yedekleri güvenli bir dizinde tutun.
İsterseniz gzip ile sıkıştırabilirsiniz:
Kod:
mysqldump -u root -p veritabani | gzip > yedek.sql.gz
Güvenlik ve Ek Öneriler
- Dump alma işlemleri için root yerine özel bir kullanıcı oluşturun.
- Cron job’larda parola içeren satırları şifreli dosyadan okuma yöntemini tercih edin.
- MySQL sürümünüzü her zaman belirtin (örneğin 5.7 veya 8.0), bazı parametreler sürüme göre değişiklik gösterebilir.
MySQL’in varsayılan ayarlarını özelleştirmek, yedeklemeyi otomatikleştirmek ve karakter setini doğru seçmek; uzun vadede veri bütünlüğünü korumanızı sağlar.
Bu rehberle birlikte hem sistem yöneticileri hem de geliştiriciler MySQL yapılandırmalarını daha güvenli ve esnek hale getirebilirler.
Not: Bu rehber, “MySQL Root Dışı Kullanıcı Oluşturma ve Yetkilendirme Rehberi”nin devamı niteliğindedir.