KernelPunk

root
Forum yöneticisi
MySQL, dünya genelinde en popüler açık kaynaklı veritabanı yönetim sistemlerinden biridir. Linux sunucularında veritabanı işlemleri için yaygın olarak kullanılır.

1. MySQL Nedir ve Neden Kullanılır?

MySQL, yüksek performanslı ve güvenilir bir veritabanı yönetim sistemidir. Kullanım alanları şunlardır:
  • Web uygulamaları (ör. WordPress, Joomla, Drupal)
  • E-ticaret siteleri
  • Büyük ölçekli veritabanı çözümleri
  • Veri analitiği ve raporlama
Linux sunucularında MySQL kullanmak, performans ve güvenlik açısından büyük avantaj sağlar.

2. Linux Sunucusunda MySQL Kurulumu

Aşağıda Ubuntu, Debian ve CentOS için MySQL’in nasıl kurulacağını anlatıyoruz.

2.1. Ubuntu ve Debian Üzerinde MySQL Kurulumu

  1. Depoları Güncelleyin:
    Bash:
    sudo apt update && sudo apt upgrade -y
  2. MySQL Sunucu Paketini Yükleyin:
    Bash:
    sudo apt install mysql-server -y
  3. MySQL Servisini Başlatın ve Etkinleştirin:
    Bash:
    sudo systemctl start mysql
    sudo systemctl enable mysql
  4. MySQL Servisini Başlatın ve Etkinleştirin:
    Bash:
    sudo mysql_secure_installation
Bu komut aşağıdaki güvenlik adımlarını içeren bir sihirbaz başlatacaktır:
  • Root şifresinin belirlenmesi
  • Varsayılan anonim kullanıcıların kaldırılması
  • Uzak root erişiminin kapatılması
  • Öntanımlı test veritabanının kaldırılması

2.2. CentOS Üzerinde MySQL Kurulumu

  1. Depoları Güncelleyin:
    Bash:
    sudo yum update -y
  2. MySQL Paketini Yükleyin:
    Bash:
    sudo yum install mysql-server -y
  3. MySQL Servisini Başlatın ve Etkinleştirin:
    Bash:
    sudo systemctl start mysqld
    sudo systemctl enable mysqld
Bu adımlarla MySQL başarıyla kurulmuş olur.​

3. MySQL Güvenlik Ayarları

MySQL’in güvenliğini artırmak için aşağıdaki adımları uygulayabilirsiniz.

3.1. Root Kullanıcısının Uzaktan Erişimini Kapatın

Varsayılan olarak MySQL root kullanıcısı sadece localhost üzerinden bağlanabilir. Bunu doğrulamak için:
Bash:
sudo mysql -e "SELECT host, user FROM mysql.user;"
Eğer root@% gibi bir kayıt görüyorsanız, şu komutla kapatabilirsiniz:
Bash:
sudo mysql -e "UPDATE mysql.user SET host='localhost' WHERE user='root';"
sudo mysql -e "FLUSH PRIVILEGES;"

3.2. Güçlü Kullanıcı Şifreleri Kullanın

MySQL’de yeni kullanıcı oluştururken güçlü şifreler belirlemek önemlidir. Kullanıcı oluşturma komutu:
Bash:
CREATE USER 'kullanici_adi'@'localhost' IDENTIFIED BY 'GucluBirSifre123!';
GRANT ALL PRIVILEGES ON *.* TO 'kullanici_adi'@'localhost';
FLUSH PRIVILEGES;

3.3. MySQL Bağlantı Noktasını Değiştirin

Varsayılan olarak MySQL 3306 numaralı portu kullanır. Daha güvenli hale getirmek için /etc/mysql/mysql.conf.d/mysqld.cnf dosyasını düzenleyin:
Bash:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
Şu satırı bulun ve değiştirin:
INI:
port = 3307
Ardından MySQL servisini yeniden başlatın:
Bash:
sudo systemctl restart mysql

3.4. Güvenlik Duvarı Kurallarını Ayarlayın

Eğer MySQL’e uzaktan erişim sağlamak gerekiyorsa, güvenlik duvarını yapılandırın:
Bash:
sudo ufw allow 3306/tcp
sudo ufw reload
Yalnızca belirli IP adreslerine izin vermek için:
Bash:
sudo ufw allow from 192.168.1.100 to any port 3306

4. MySQL Performans ve Optimizasyon Önerileri

  • Sorgu önbelleğini etkinleştirin: /etc/mysql/mysql.conf.d/mysqld.cnf dosyasına şu satırı ekleyin:
    INI:
    query_cache_size = 64M
  • Daha fazla bağlantı desteği ekleyin:
    INI:
    max_connections = 500
  • Yavaş sorgu günlüğünü etkinleştirin:
    INI:
    slow_query_log = 1
    long_query_time = 2
Bu ayarlamalar, MySQL sunucunuzun daha hızlı ve verimli çalışmasını sağlar.

Linux sunucularında MySQL kurulumu ve güvenlik ayarları, veritabanı yönetiminin en kritik aşamalarındandır. Bu rehberde, Ubuntu, Debian ve CentOS için MySQL kurulumu ile güvenliği artırma yöntemlerini ele aldık.

Eğer büyük ölçekli bir sistem kuruyorsanız, düzenli olarak yedekleme almayı ve güncellemeleri takip etmeyi unutmayın. MySQL güvenliğini sürekli iyileştirmek, veri kaybı ve siber saldırılara karşı en iyi önlemdir.
 
Back
Top