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.
Eğer
Şu satırı bulun ve değiştirin:
Ardından MySQL servisini yeniden başlatın:
Yalnızca belirli IP adreslerine izin vermek için:
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.
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
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
- Depoları Güncelleyin:
Bash:sudo apt update && sudo apt upgrade -y
- MySQL Sunucu Paketini Yükleyin:
Bash:sudo apt install mysql-server -y
- MySQL Servisini Başlatın ve Etkinleştirin:
Bash:sudo systemctl start mysql sudo systemctl enable mysql
- MySQL Servisini Başlatın ve Etkinleştirin:
Bash:sudo mysql_secure_installation
- 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
- Depoları Güncelleyin:
Bash:sudo yum update -y
- MySQL Paketini Yükleyin:
Bash:sudo yum install mysql-server -y
- MySQL Servisini Başlatın ve Etkinleştirin:
Bash:sudo systemctl start mysqld sudo systemctl enable mysqld
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;"
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
INI:
port = 3307
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
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
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.