🐬 MySQL / MariaDB Kurulumu ve Webmin ile Veritabanı Yönetimi

Hem sistem yöneticileri hem de web geliştiriciler için veritabanı kurulumu ve bunun grafiksel bir arayüz (Webmin) üzerinden yönetilmesi, iş akışını inanılmaz derecede hızlandıran bir yetenektir.


Bölüm 1: MariaDB / MySQL Kurulumu

MariaDB, günümüzde çoğu Linux dağıtımında varsayılan MySQL varyantı olarak gelir. Performansı ve MySQL ile birebir uyumlu olması nedeniyle bu eğitimde MariaDB üzerinden ilerleyeceğiz. (Komutlar MySQL için de büyük oranda aynıdır).

1. Sistem Paketlerini Güncelleyin

Kuruluma başlamadan önce sunucunuzun paket listelerini güncellemek her zaman en iyi pratiktir. SSH üzerinden sunucunuza bağlanın ve şu komutu çalıştırın:

Bash:
sudo apt update && sudo apt upgrade -y

2. Veritabanı Sunucusunu Kurun

Aşağıdaki komut ile MariaDB sunucusunu ve istemcisini kurun:

Bash:
sudo apt install mariadb-server mariadb-client -y

(Eğer orijinal MySQL kurmak isterseniz mariadb-server yerine mysql-server yazabilirsiniz.)

3. Kurulumu Güvenli Hale Getirin

Veritabanı kurulduğunda varsayılan ayarlar güvenlik açısından yetersizdir. Güvenlik sihirbazını başlatarak root şifresi belirleyin ve gereksiz test veritabanlarını kaldırın:

Bash:
sudo mysql_secure_installation

Sihirbaz size birkaç soru soracaktır. Mevcut root şifresi sorulduğunda boş bırakıp "Enter"a basın. Sonrasında root şifresi belirlemek ve diğer güvenlik önlemleri (anonim kullanıcıları silme, root'un uzaktan erişimini kapatma vb.) için tüm sorulara Y (Yes) yanıtını verin.


Bölüm 2: Webmin Üzerinden Veritabanına Bağlanma

Webmin, Linux sunucunuzu tarayıcı üzerinden yönetmenizi sağlayan muazzam bir araçtır. Eğer sisteminizde Webmin kurulu değilse, resmi deposundan sudo apt install webmin gibi basit komutlarla kurabilirsiniz.

Webmin'e tarayıcınızdan giriş yapın: https://<sunucu-ip-adresiniz>:10000

1. MySQL Modülünü Bulma

  • Sol menüden Servers (Sunucular) sekmesini genişletin.

  • MySQL Database Server (MySQL Veritabanı Sunucusu) seçeneğine tıklayın.

2. İlk Giriş ve Yetkilendirme

Webmin bu modüle ilk kez tıkladığınızda veritabanına erişmek için sizden giriş bilgileri isteyebilir.

  • Kullanıcı adı: root

  • Şifre: (Az önce mysql_secure_installation adımında belirlediğiniz şifre)

    Bilgileri girip kaydettiğinizde, veritabanı yönetim paneli karşınıza çıkacaktır.


Bölüm 3: Webmin ile Veritabanı Yönetimi

Artık siyah komut ekranlarına (terminal) ihtiyaç duymadan tüm veritabanı işlemlerinizi görsel olarak yapabilirsiniz.

A. Yeni Veritabanı Oluşturma

Bir web sitesi veya uygulama için genelde ilk adım boş bir veritabanı yaratmaktır.

  1. MySQL modülü ana ekranında, sayfanın üst kısmındaki Create a new database (Yeni bir veritabanı oluştur) bağlantısına tıklayın.

  2. Database name (Veritabanı adı) kısmına projenizin adını yazın (örneğin: wordpress_db).

  3. Diğer ayarları varsayılan olarak bırakıp Create (Oluştur) butonuna basın.

B. Yeni Veritabanı Kullanıcısı Oluşturma

Güvenlik gereği uygulamalar veritabanına root kullanıcısı ile bağlanmamalıdır. Her veritabanı için ayrı bir kullanıcı oluşturmak en doğrusudur.

  1. Ana modül ekranına dönün ve User Permissions (Kullanıcı İzinleri) ikonuna tıklayın.

  2. Sayfanın üstündeki Create a new user (Yeni kullanıcı oluştur) linkine tıklayın.

  3. Username (Kullanıcı Adı): Örneğin wp_user

  4. Password (Şifre): Güçlü bir şifre belirleyin.

  5. Hosts (Sunucular): Sadece kendi sunucunuzdan bağlantıya izin vermek için localhost seçin.

  6. Permissions (İzinler): Bu ekranda hiçbir yetki seçmeyin. İzinleri bir sonraki adımda sadece spesifik veritabanı için vereceğiz. Create diyerek kaydedin.

C. Kullanıcıyı Veritabanına Atama (Yetkilendirme)

Oluşturduğumuz kullanıcıya, az önce oluşturduğumuz veritabanı üzerinde tam yetki vermemiz gerekiyor.

  1. Ana ekrandan Database Permissions (Veritabanı İzinleri) ikonuna tıklayın.

  2. Create new database permissions (Yeni veritabanı izni oluştur) seçeneğine tıklayın.

  3. Databases (Veritabanları): Listeden wordpress_db isimli veritabanını seçin.

  4. Username (Kullanıcı Adı): wp_user yazın.

  5. Hosts: localhost yazın.

  6. Permissions (İzinler): Select, Insert, Update, Delete, Create, Drop, Index, Alter gibi standart uygulama izinlerini seçin (veya en üstteki Select all / Tümünü seç butonunu kullanın).

  7. Save (Kaydet) butonuna tıklayın.

D. Veritabanını Yedekleme (Backup) ve Geri Yükleme

Webmin ile komut satırına ihtiyaç duymadan mysqldump işlemlerini otomatize edebilirsiniz.

  • Yedekleme: İlgili veritabanının üzerine tıklayıp Backup Database (Veritabanını Yedekle) butonuna basarak veritabanını bir .sql dosyası olarak sunucunuza veya bilgisayarınıza indirebilirsiniz. Hatta bunu Zamanlanmış Görevler (Cron) sekmesinden her gece otomatik olarak yapması için ayarlayabilirsiniz.

  • İçeri Aktarma (SQL Çalıştırma): Execute SQL (SQL Çalıştır) sekmesine giderek "Run SQL from file (Dosyadan SQL çalıştır)" seçeneği ile elinizdeki bir yedeği sisteme yükleyebilirsiniz.


Özet Tablo: Terminal vs. Webmin

İşlemTerminal (CLI) KomutuWebmin Arayüzü
Bağlantımysql -u root -pServers > MySQL Database Server
DB OluşturmaCREATE DATABASE isim;Create a new database
Kullanıcı OluşturmaCREATE USER 'isim'@'localhost'...User Permissions > Create a new user
Yetki VermeGRANT ALL ON db.* TO user;Database Permissions
Yedek Almamysqldump -u root -p db > backup.sqlİlgili DB > Backup Database

Webmin, arka planda terminal komutlarının yaptığı her şeyi görsel olarak yaparak hata payını düşürür ve sunucu yönetimini çok daha keyifli hale getirir.


🔹 Webmin’e giriş

Tarayıcıdan:

https://SUNUCU_IP:10000

Örnek:

https://192.168.1.10:10000

📌 Linux kullanıcı adı ve şifren ile giriş yap.


6️⃣ Webmin Üzerinden MariaDB Yönetimi

Giriş yaptıktan sonra:

Servers → MySQL Database Server

Eğer MariaDB kuruluysa otomatik algılar.


7️⃣ Veritabanı Oluşturma

  1. Create a new database

  2. Database name: okul_db

  3. Create


8️⃣ Kullanıcı Oluşturma

  1. User Permissions

  2. Create a new user

  3. Username: okul_user

  4. Password belirle

  5. Host: localhost

  6. Permission:

    • SELECT

    • INSERT

    • UPDATE

    • DELETE


9️⃣ Yetki Verme (Database Bazlı)

User Permissions →
Database: okul_db
Grant All Privileges


🔟 Tablo Oluşturma (Webmin SQL ile)

Webmin → MySQL → okul_db → Execute SQL

CREATE TABLE ogrenciler (
    id INT AUTO_INCREMENT PRIMARY KEY,
    ad VARCHAR(50),
    soyad VARCHAR(50),
    sinif VARCHAR(10),
    aktif BOOLEAN DEFAULT TRUE
);

1️⃣1️⃣ Veri Ekleme

INSERT INTO ogrenciler (ad, soyad, sinif)
VALUES ('Ahmet', 'Yılmaz', '11A');

1️⃣2️⃣ Yedek Alma (Backup)

Webmin → MySQL → Backup Database

Yöntemler:

  • SQL Dump

  • Sadece veri

  • Sadece yapı

  • Zamanlanmış yedek

CLI ile yedek:

mysqldump -u root -p okul_db > okul_db_yedek.sql

1️⃣3️⃣ Geri Yükleme

mysql -u root -p okul_db < okul_db_yedek.sql

1️⃣4️⃣ Uzaktan Bağlantı Açmak (LAN için)

MariaDB config dosyası:

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

Bul:

bind-address = 127.0.0.1

Değiştir:

bind-address = 0.0.0.0

Servis restart:

sudo systemctl restart mariadb

Firewall aç:

sudo ufw allow 3306

1️⃣5️⃣ Güvenlik Tavsiyeleri (Okul Senaryosu)

✅ Root ile uygulama bağlanmasın
✅ Her uygulama için ayrı kullanıcı
✅ Haftalık otomatik yedek
✅ LAN dışına 3306 portu açma
✅ Fail2ban kur
✅ Güçlü parola politikası


1️⃣6️⃣ Performans Ayarları

Dosya:

/etc/mysql/mariadb.conf.d/50-server.cnf

Önemli parametreler:

innodb_buffer_pool_size = 1G
max_connections = 200
query_cache_size = 64M

1️⃣7️⃣ Okul LAN Senaryosu Örneği

Senaryo:

  • Pardus Server

  • Webmin

  • MariaDB

  • DHCP + DNS

  • 40 istemci

  • ASP.NET Core / Django uygulaması

Yapı:

[İstemciler]
     ↓
[Switch]
     ↓
[Pardus Server]
     ├── Webmin
     ├── MariaDB
     ├── Apache/Nginx

1️⃣8️⃣ MySQL vs MariaDB Webmin Uyumluluğu

Özellik    MariaDB        MySQL
Webmin destek        ✅ Tam        ✅ Tam
GUI tablo yönetimi    Var    Var
Yedekleme    Var    Var
Kullanıcı yetkilendirme    Var    Var

🎯 Sonuç

Eğer:

  • Okul içi LAN

  • Eğitim amaçlı

  • Pardus Server

  • Webmin paneli kullanıyorsan

👉 MariaDB + Webmin en mantıklı seçimdir.



Yorumlar

Bu blogdaki popüler yayınlar

Android Telefon/Tablet Ekranını Pardus ETAP 23 Yüklü Akıllı Tahtaya Yansıtma

Pardus Etap 23’de Unutulmuş Etap Yetkili Parolasını Sıfırlama

Pardus Etap 23 Yazıcı Kurulumu