Buyukweb
MySQL/MariaDB Temel Yönetim: Veritabanı, Kullanıcı ve Yetki Yönetimi

MySQL/MariaDB Temel Yönetim: Veritabanı, Kullanıcı ve Yetki Yönetimi

MySQL ve MariaDB veritabanı yönetimi. Veritabanı ve tablo oluşturma, kullanıcı yönetimi, yetkilendirme, yedekleme ve temel SQL komutları.

Büyükweb Teknik Ekibi15 Eylül 20247 dakika okuma

MySQL/MariaDB Temel Yönetim

MySQL ve MariaDB, web uygulamalarında en yaygın kullanılan ilişkisel veritabanı yönetim sistemleridir. MariaDB, MySQL'in topluluk destekli fork'udur ve büyük ölçüde uyumludur.

Kurulum

Ubuntu/Debian:

apt install mysql-server     # MySQL
apt install mariadb-server   # MariaDB

systemctl enable --now mysql  # veya mariadb

RHEL/Rocky Linux:

dnf install mysql-server     # MySQL
dnf install mariadb-server   # MariaDB

systemctl enable --now mysqld  # veya mariadb

Güvenli Kurulum

mysql_secure_installation

# Sorular:
# - Root şifresi belirle
# - Anonim kullanıcıları kaldır: Y
# - Root'un uzaktan girişini kapat: Y
# - Test veritabanını kaldır: Y
# - Ayrıcalık tablolarını yeniden yükle: Y

MySQL'e Bağlanma

# Root olarak bağlan
mysql -u root -p

# Belirli veritabanına bağlan
mysql -u kullanici -p veritabani_adi

# Komut satırında çalıştır
mysql -u root -p -e "SHOW DATABASES;"

Veritabanı Yönetimi

-- Veritabanlarını listele
SHOW DATABASES;

-- Veritabanı oluştur
CREATE DATABASE sitem_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

-- Veritabanı seç
USE sitem_db;

-- Veritabanı sil
DROP DATABASE test_db;

-- Tablo listesi
SHOW TABLES;

-- Tablo yapısı
DESCRIBE kullanicilar;
SHOW CREATE TABLE kullanicilar;

Tablo Oluşturma

CREATE TABLE kullanicilar (
    id INT AUTO_INCREMENT PRIMARY KEY,
    kullanici_adi VARCHAR(50) NOT NULL UNIQUE,
    email VARCHAR(100) NOT NULL UNIQUE,
    sifre_hash VARCHAR(255) NOT NULL,
    olusturulma_tarihi TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    aktif BOOLEAN DEFAULT TRUE,
    INDEX idx_email (email)
) ENGINE=InnoDB;

-- Tablo değiştir
ALTER TABLE kullanicilar ADD COLUMN telefon VARCHAR(20);
ALTER TABLE kullanicilar DROP COLUMN telefon;
ALTER TABLE kullanicilar MODIFY COLUMN email VARCHAR(150);

Temel SQL Komutları

-- Veri ekle
INSERT INTO kullanicilar (kullanici_adi, email, sifre_hash)
VALUES ('ahmet', 'ahmet@sitem.com', 'hash_degeri');

-- Veri sorgula
SELECT * FROM kullanicilar WHERE aktif = 1;
SELECT kullanici_adi, email FROM kullanicilar ORDER BY id DESC LIMIT 10;

-- Veri güncelle
UPDATE kullanicilar SET aktif = 0 WHERE email = 'ahmet@sitem.com';

-- Veri sil
DELETE FROM kullanicilar WHERE id = 5;

-- JOIN örneği
SELECT k.kullanici_adi, y.baslik
FROM kullanicilar k
INNER JOIN yazilar y ON k.id = y.kullanici_id;

Kullanıcı Yönetimi

-- Kullanıcı oluştur
CREATE USER 'webkullanici'@'localhost' IDENTIFIED BY 'guclu_sifre_2024!';

-- Uzaktan erişim için
CREATE USER 'webkullanici'@'192.168.1.%' IDENTIFIED BY 'guclu_sifre_2024!';

-- Kullanıcıları listele
SELECT User, Host FROM mysql.user;

-- Kullanıcı şifresi değiştir
ALTER USER 'webkullanici'@'localhost' IDENTIFIED BY 'yeni_sifre';

-- Kullanıcı sil
DROP USER 'eskikullanici'@'localhost';

Yetki Yönetimi

-- Tüm yetkiler ver
GRANT ALL PRIVILEGES ON sitem_db.* TO 'webkullanici'@'localhost';

-- Sadece okuma yetkisi
GRANT SELECT ON sitem_db.* TO 'raporkullanici'@'localhost';

-- Belirli tablo yetkileri
GRANT SELECT, INSERT, UPDATE ON sitem_db.kullanicilar TO 'webkullanici'@'localhost';

-- Yetkileri uygula
FLUSH PRIVILEGES;

-- Yetkileri görüntüle
SHOW GRANTS FOR 'webkullanici'@'localhost';

-- Yetkiyi kaldır
REVOKE INSERT ON sitem_db.* FROM 'webkullanici'@'localhost';

Yedekleme ve Geri Yükleme

# Tek veritabanı yedekle
mysqldump -u root -p sitem_db > sitem_db_backup.sql

# Tüm veritabanları yedekle
mysqldump -u root -p --all-databases > all_databases.sql

# Yedekten geri yükle
mysql -u root -p sitem_db < sitem_db_backup.sql

# Sıkıştırılmış yedek
mysqldump -u root -p sitem_db | gzip > sitem_db_$(date +%Y%m%d).sql.gz

# Otomatik yedekleme (cron)
# 0 2 * * * mysqldump -u root -p'sifre' sitem_db > /backups/sitem_$(date +%Y%m%d).sql

Performans İzleme

-- Aktif bağlantılar
SHOW PROCESSLIST;

-- Yavaş sorguları göster
SHOW VARIABLES LIKE 'slow_query_log';
SET GLOBAL slow_query_log = 'ON';
SET GLOBAL long_query_time = 2;

-- Tablo istatistikleri
SHOW TABLE STATUS FROM sitem_db;

-- Index kullanımı
EXPLAIN SELECT * FROM kullanicilar WHERE email = 'ahmet@sitem.com';

my.cnf Temel Ayarları

# /etc/mysql/my.cnf
[mysqld]
# Bağlantı limiti
max_connections = 200

# Tampon boyutları (RAM'in %25-50'si)
innodb_buffer_pool_size = 1G

# Slow query log
slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow.log
long_query_time = 2

# Karakter seti
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci

Büyükweb cPanel hosting paketlerinde phpMyAdmin ile MySQL veritabanlarınızı görsel olarak yönetebilirsiniz.


Veritabani Performans Optimizasyonu

Veritabani web uygulamalarinin kalbidir.

MySQL/MariaDB Tuning

innodb_buffer_pool_size'i RAM'in %60-70'ine ayarlayin. slow_query_log ile yavas sorgulari tespit edin. max_connections optimize edin.

Indeksleme

WHERE, JOIN, ORDER BY sutunlarina indeks ekleyin. EXPLAIN ile sorgu planlari analiz edin. Composite index kullanin.

Baglanti Havuzu

ProxySQL ile gelismis baglanti yonetimi. Connection pooling ile maliyet azaltma. Persistent connections kullanin.

Replikasyon

Master-Slave ile okuma yukunu dagitin. Galera Cluster ile multi-master yuksek erisilebilirlik. Semi-senkron replikasyon degerlendirin.

Yedekleme

mysqldump mantiksal, xtrabackup fiziksel yedek. Binary log ile point-in-time recovery. Incremental yedekleme ile tasarruf.

Sik Sorulan Sorular

MySQL mi PostgreSQL mi?

MySQL cogu web uygulamasi ile uyumlu. PostgreSQL gelismis veri tipleri ve JSON icin ideal. CMS'ler genelde MySQL kullanir.

Veritabanim buyudu ne yapmaliyim?

Gereksiz verileri temizleyin, tablo optimize edin, arsivleme yapin, partitioning kullanin.

Ne siklikla yedek almaliyim?

Kritik veritabanlari saatlik, standart siteler gunluk. Buyuk degisikliklerden once manuel yedek.

Sonuc

Veritabani optimizasyonu uygulama performansini dogrudan etkiler. Indeksleme, tuning ve yedekleme ile veri katmaninizi guclendirin.

Veritabani Boyut Yonetimi

Buyuk Tablolar icin Stratejiler

  • Partitioning: Tarihe gore tablolari bolumlendirin. Sorgu performansi artar.
  • Arsivleme: Eski verileri arsiv tablolarina tasiyin.
  • Sikistirma: InnoDB sikistirmasi ile disk kullanimini %50-75 azaltin.

WordPress Veritabani Optimizasyonu

  • wp_options autoload: Gereksiz autoload kayitlari temizleyin.
  • Post revisions: wp-config.php'de WP_POST_REVISIONS sinirlayin.
  • Transient veriler: Suresi dolmus verileri duzenli temizleyin.
  • Spam yorumlar: Toplu silin.

Veritabani Guvenlik

  • Varsayilan portu degistirin
  • Uygulama bazli kullanici olusturun
  • Minimum gerekli yetki verin
  • SSL ile baglanti sifreleyin
  • Duzenli guvenlik taramasi yapin

Turkiye'de Hosting Sektoru 2025-2026

Sektorel Trendler

Turkiye hosting pazari hizla buyumektedir. E-ticaretin genislemesi, dijitallesme calismalarI ve uzaktan calisma trendi hosting talebini artirmaktadir. NVMe SSD, HTTP/3 ve edge computing gibi teknolojiler hosting performansini yeni seviyelere tasimaktadir.

Dikkat Edilmesi Gerekenler

Hosting sektoru rekabetci bir pazardir. Dusuk fiyat vaat eden ancak altyapı kalitesinden odun veren firmalardan kacinin. Gizli maliyet, yenileme fiyat artisi ve yetersiz destek en sik karsilasilan sorunlardir.

Hosting Firmasi Secim Kriterleri

  1. Veri merkezi lokasyonu: Turkiye'de veri merkezi olan firmalari tercih edin
  2. Uptime garantisi: Minimum %99.5, ideal %99.8+
  3. Teknik destek: 7/24 Turkce destek zorunlu
  4. Guvenlik: DDoS korumasi, SSL, WAF dahil olmali
  5. Yedekleme: Gunluk otomatik yedekleme olmali
  6. Olceklenebilirlik: Ihtiyac artiginda kolayca yukseltme yapilabilmeli
  7. Musteri yorumlari: Gercek kullanici deneyimlerini arastirin

Buyukweb 2009'dan beri bu kriterlerin tumunu karsilayarak 5.200+ musteriye guvenilir hosting hizmeti sunmaktadir. Sorulariniz icin 0850 302 60 70 numarasini arayabilir veya destek@buyukweb.com adresine yazabilirsiniz.

Sik Yapilan Hosting Hatalari

Hosting secimi ve yonetiminde en sik karsilasilan hatalar:

1. Sadece Fiyata Bakmak

En ucuz hosting her zaman en iyi secim degildir. Performans, guvenlik ve destek kalitesi fiyattan daha onemlidir. Dusuk maliyetli hostinglerde yenileme fiyatlari genellikle cok daha yuksektir.

2. Yedekleme Almamak

Otomatik yedekleme olsa bile, onemli degisikliklerden once manuel yedek almak hayati onem tasir. Yedeklerin geri yuklenebilirligini test etmeyen sirketler veri kaybi yasadiginda ciddi sorunlarla karsilasir.

3. Guncellemeleri Ertelemek

WordPress, eklentiler ve isletim sistemi guncellemelerini ertelemek guvenlik aciklarına davetiye cikarir. Otomatik guvenlik guncellemeleri yapilandirmak en temel onlemdir.

4. SSL Kullanmamak

Hala SSL sertifikasi olmayan web siteleri mevcut. SSL olmadan Google siralama duser, ziyaretci guveni azalir ve veri guvenligi tehlikeye girer. Ucretsiz Let's Encrypt sertifikasi bile yeterlidir.

5. Kaynak Planlamasi Yapmamak

Trafik artisina hazirliksiz yakalanmak, sitenizin cokmesine neden olabilir. Trafik trendlerini izleyin ve ihtiyac halinde kaynakları zamaninda artirin.

Baslangic Rehberi: Ilk Adimlar

Bu konuda yeniyseniz, asagidaki adimlarla baslayabilirsiniz:

Adim 1: Ihtiyac Analizi

Projenizin gereksinimlerini belirleyin. Trafik beklentisi, disk alani ihtiyaci, veritabani boyutu ve ozel yazilim gereksinimleri listenizin basinda olmalidir.

Adim 2: Uygun Hizmet Secimi

Ihtiyaciniza gore paylasimli hosting, VDS veya dedicated sunucu secin. Buyukweb.com uzerinden paketleri karsilastirabilirsiniz.

Adim 3: Kurulum ve Yapilandirma

Hosting paketinizi aldiktan sonra domain yonlendirmesi, SSL kurulumu ve uygulama kurulumunu yapin. cPanel ve Plesk ile bu islemler oldukca kolaydir.

Adim 4: Guvenlik Onlemleri

SSL sertifikasi, guclu sifre politikasi, duzenli yedekleme ve guvenlik guncellemelerini ilk gunden uygulayin.

Adim 5: Izleme ve Bakım

Duzenli yedekleme kontrolu, performans izleme ve guvenlik taramasi ile sunucunuzun sagligini koruyun.

Bu adimlarda herhangi bir noktada takilirtsaniz Buyukweb teknik destek ekibi size yardimci olacaktir. Ucretsiz danismanlik icin bize ulasin.

Etiketler:

#mysql#mariadb#kullanıcı yönetimi#veritabanı#database#veri yönetimi

Bu yazıyı paylaş