Giriş
MySQL, web uygulamaları için en yaygın kullanılan açık kaynaklı ilişkisel veritabanı yönetim sistemlerinden (RDBMS) biridir. LAMP ve LEMP yığınlarının temel bir bileşeni olan MySQL, yüksek performansı ve ölçeklenebilirliği ile bilinir. Bu rehberde, Ubuntu 26.04 üzerinde MySQL 8.4 kurulumunu ve temel güvenlik yapılandırmasını ele alacağız.
Önkoşullar
Kuruluma başlamadan önce, sisteminizde sudo yetkilerine sahip bir kullanıcı hesabınızın olduğundan emin olun.
Adım 1: MySQL Kurulumu
Ubuntu 26.04 varsayılan depoları MySQL 8.4 sürümünü içerir. Kuruluma başlamak için paket listesini güncelleyin ve ardından MySQL sunucusunu yükleyin:
sudo apt update
sudo apt install mysql-serverKurulum tamamlandıktan sonra MySQL servisi otomatik olarak başlatılacaktır. Servisin durumunu kontrol etmek için şu komutu kullanın:
sudo systemctl status mysqlAdım 2: Güvenlik Yapılandırması
MySQL, kurulum sonrası güvenlik açıklarını kapatmak için mysql_secure_installation adlı bir betik sunar. Bu betiği çalıştırarak parola doğrulama politikasını belirleyebilir, anonim kullanıcıları kaldırabilir ve test veritabanlarını silebilirsiniz:
sudo mysql_secure_installationUyarı: Parola doğrulama politikası için 'MEDIUM' veya 'STRONG' seviyesini seçmeniz, veritabanı güvenliğiniz için kritik öneme sahiptir.
Adım 3: Uzaktan Erişim ve Firewall Ayarları
Varsayılan olarak MySQL yalnızca yerel (localhost) bağlantıları kabul eder. Uzaktan erişim sağlamak için yapılandırma dosyasını düzenlemeniz gerekir:
/etc/mysql/mysql.conf.d/mysqld.cnfdosyasını bir metin düzenleyici ile açın.bind-addressdeğerini0.0.0.0olarak değiştirin.- Değişikliklerin geçerli olması için servisi yeniden başlatın:
sudo systemctl restart mysql
Güvenlik duvarı (UFW) kullanıyorsanız, 3306 numaralı portu dış bağlantılara açmayı unutmayın:
sudo ufw allow 3306/tcpAdım 4: Veritabanı ve Kullanıcı Yönetimi
Yeni bir veritabanı ve buna özel bir kullanıcı oluşturmak için MySQL kabuğuna giriş yapın:
sudo mysql
CREATE DATABASE myapp;
CREATE USER 'myappuser'@'localhost' IDENTIFIED BY 'guclu_sifre';
GRANT ALL PRIVILEGES ON myapp.* TO 'myappuser'@'localhost';
FLUSH PRIVILEGES;Bu adımları tamamladıktan sonra, veritabanı sunucunuz artık projeleriniz için kullanıma hazırdır. Herhangi bir sorun yaşarsanız sudo journalctl -u mysql komutu ile hata günlüklerini inceleyebilirsiniz.



