Rehber MySQL Varsayılan Ayarlarını Değiştirme, Dump Alma ve Cron ile Yedekleme Rehberi

r00ts

Hectopat
Katılım
11 Mart 2022
Mesajlar
335
Makaleler
1
Çözümler
3
Yer
Frankfurt
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.
 
Basit anlatım, kolay anlaşılabilirlik, alternatif bilgiler ile oldukça faydalı rehber.

Emeğine yüreğine sağlık.
 
Basit anlatım, kolay anlaşılabilirlik, alternatif bilgiler ile oldukça faydalı rehber.

Emeğine yüreğine sağlık.

Teşekkürler 😄 zamanımı aldı ama değdi, beğenmene sevindim. Eğer başka rehber veya konu istersen haber ver, elimden geldiğince paylaşırım.
 
Heidisql çok basit görünümlü ve oldukça da kolay geldi ekran resimlerinden. Her ikisini de indirip attım diske. Fırsat olunca bakacağım.

Elinde raspi varsa istenecek çok konu bulurum sana.
Şu an elimde raspi yok ama evinde sürekli bir şeyler yapmak isteyen ve daima Online bir sunucuya ihtiyaç duyan biri için oldukça faydalı.
Maliyeti ekleyeceğiniz Addon'lar ile değişiyor.
MySQL'i ona kurmak, basit bir NAS sunucusu yapmak, Media server yapmak, firewall veya securitiy yapmak gibi çok fazla işlevsel amaçla kullanılabilinir.

Elinde raspi var ise veya kısa süreliğine emanet alabileceğin arkadaşın var ise, o tür konularda dikkat çeker. Raspi yazdığıma bakma, latte - orange gibi farklı marka modeller var.

Teşekkür ederim.
 
Heidisql çok basit görünümlü ve oldukça da kolay geldi ekran resimlerinden. Her ikisini de indirip attım diske. Fırsat olunca bakacağım.

Elinde raspi varsa istenecek çok konu bulurum sana.
Şu an elimde raspi yok ama evinde sürekli bir şeyler yapmak isteyen ve daima Online bir sunucuya ihtiyaç duyan biri için oldukça faydalı.
Maliyeti ekleyeceğiniz Addon'lar ile değişiyor.
MySQL'i ona kurmak, basit bir NAS sunucusu yapmak, Media server yapmak, firewall veya securitiy yapmak gibi çok fazla işlevsel amaçla kullanılabilinir.

Elinde raspi var ise veya kısa süreliğine emanet alabileceğin arkadaşın var ise, o tür konularda dikkat çeker. Raspi yazdığıma bakma, latte - orange gibi farklı marka modeller var.

Teşekkür ederim.
Rica ederim 😄
HeidisQL’i indirip denemene sevindim, basit ve hızlı olması en güzel yanı gerçekten.
Raspi konusuna gelince, elimde şu an yok ama dediğin gibi Raspberry Pi veya benzeri küçük cihazlar, sürekli online sunucular için çok faydalı. Fırsat bulduğunda bu tip projeleri denemek ve rehberlerini paylaşmak harika olur.
 

Technopat Haberler

Yeni konular

Geri
Yukarı