Ana içeriğe geç

Ubuntu Üzerinde MySQL Kurulumu ve Güvenlik Yapılandırması (Adım Adım)

Bu rehberde ne öğreneceksiniz?

Bu rehberde Ubuntu 20.04 ve üzeri sistemlerde MySQL 8.0 kurulumu,
auth_socket kimlik doğrulama sorununun çözümü,
güvenlik yapılandırması ve özel kullanıcı oluşturma adımlarını öğreneceksiniz.


🧠 Teknik Özet

Konu: Ubuntu üzerinde MySQL 8.0 kurulumu ve güvenli hale getirilmesi
Problem: Varsayılan MySQL kurulumunun güvenli olmaması ve auth_socket döngü hatası
Adımlar: Kurulum → Güvenlik → Kullanıcı oluşturma → Yetkilendirme → Test


MySQL Nedir?

MySQL, açık kaynaklı bir ilişkisel veritabanı yönetim sistemidir.
LAMP mimarisinin en temel bileşenlerinden biridir.


Ön Koşullar

  • Ubuntu 20.04 veya üzeri
  • sudo yetkisine sahip kullanıcı
  • UFW güvenlik duvarı yapılandırılmış olmalı

1. MySQL Kurulumu

Paket listesini güncelleyin

sudo apt update
  • Bu komut, sistem paket listesini günceller.

MySQL Server kurun


sudo apt install mysql-server
  • Bu komut MySQL 8.0 paketini kurar.

Servisi başlatın


sudo systemctl start mysql.service
  • Bu komut MySQL servisini çalıştırır.

2. MySQL Güvenlik Yapılandırması

  1. Ubuntu üzerinde MySQL root kullanıcısı varsayılan olarak auth_socket ile doğrulanır.
  • Bu durum mysql_secure_installation sırasında hata döngüsüne neden olabilir.

Hata döngüsünü önleme

  1. MySQL konsoluna girin

sudo mysql
  • Root kullanıcıyı geçici olarak parola ile ayarlayın


ALTER USER 'root'@'localhost'
IDENTIFIED WITH mysql_native_password BY 'GeciciGucluSifre';

Çıkış yapın


exit

Güvenlik sihirbazını çalıştırın


sudo mysql_secure_installation

Önerilen seçimler:

  1. Validate Password Plugin → Y

  2. Password Policy → STRONG

  3. Anonymous users → Remove

  4. Remote root login → Disable

  5. Test database → Remove

  6. Reload privileges → Yes


Root doğrulamasını geri alma (Önerilen)

  1. Root ile parola kullanarak giriş yapın

mysql -u root -p

  • auth_socket yöntemine geri dönün

ALTER USER 'root'@'localhost' IDENTIFIED WITH auth_socket;
exit
  • Bu sayede tekrar sudo mysql ile giriş yapılabilir.

3. Özel MySQL Kullanıcısı Oluşturma

  1. Root kullanıcısını uygulamalarda kullanmanız önerilmez.
  • MySQL konsolunu açın

sudo mysql

  1. Yeni kullanıcı oluşturun

CREATE USER 'rabisu_admin'@'localhost'
IDENTIFIED BY 'GucluBirSifre!';

  1. Yetki verin

GRANT ALL PRIVILEGES ON *.*
TO 'rabisu_admin'@'localhost' WITH GRANT OPTION;

- Not: Prodüksiyonda yalnızca gerekli izinleri vermek daha güvenlidir.


  1. Yetkileri güncelleyin

FLUSH PRIVILEGES;
exit

4. Kurulumu Test Etme

  1. Servis durumunu kontrol edin

systemctl status mysql.service
  • Durum active (running) olmalıdır.

Kullanıcı ile giriş testi


mysql -u rabisu_admin -p
  • Versiyon kontrolü

sudo mysqladmin -u rabisu_admin -p version

Sıkça Sorulan Sorular (SSS)

1. MySQL neden auth_socket kullanıyor? Ubuntu, root erişimini sistem kullanıcılarıyla eşlemek için bunu tercih eder.

2. MariaDB mi MySQL mi? MariaDB topluluk odaklıdır, MySQL daha geniş kurumsal ekosisteme sahiptir.

3. MySQL servisi açılmıyor, ne yapmalıyım? /var/log/mysql/error.log dosyasını kontrol edin.

4. MySQL’i tamamen kaldırmak istersem?


sudo apt purge mysql-server mysql-client mysql-common

Sonuç

Bu rehberle Ubuntu üzerinde güvenli, kararlı ve prodüksiyona hazır bir MySQL kurulumu gerçekleştirdiniz.

Daha yüksek performans ve ölçeklenebilirlik için Rabisu Bulut altyapısında MySQL uyumlu VDS çözümlerini hemen deneyebilirsiniz.