Ana içeriğe geç

Ubuntu Üzerinde MySQL ile Uzak Veritabanı Kurulumu ve Performans Optimizasyonu

📘 Bu Rehberde Ne Öğreneceksiniz?

Uygulamanız büyüdükçe tek sunucu mimarisi performans sınırına ulaşır.
Bu rehberde MySQL ve web sunucusunu ayırarak yük dağıtımı, güvenlik ve ölçeklenebilirlik sağlamayı öğreneceksiniz.


🧠 Teknik Özet

Bu rehber Ubuntu üzerinde uzak MySQL veritabanı kurulumunu anlatır.
Amaç, WordPress gibi MySQL kullanan uygulamalarda performansı artırmaktır.
Adımlar: MySQL yapılandırma, SSL, kullanıcı yetkileri, WordPress entegrasyonu.


Ön Hazırlıklar

Kuruluma başlamadan önce aşağıdakiler hazır olmalıdır:

  • 2 adet Ubuntu sunucu
    • Veritabanı Sunucusu (MySQL)
    • Web Sunucusu (Nginx + PHP)
  • Her iki sunucuda sudo yetkili kullanıcı
  • UFW güvenlik duvarı aktif
  • (Önerilir) Aynı veri merkezi ve özel ağ

1. MySQL’i Uzak Bağlantılara Açma

(Veritabanı Sunucusu)

MySQL varsayılan olarak sadece localhost bağlantılarını kabul eder.

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
  • Bu komut MySQL yapılandırma dosyasını açar.


[mysqld]
bind-address = veritabani_sunucu_ipsi
require_secure_transport = on
  • Bu ayar MySQL’i dış bağlantılara açar ve SSL’i zorunlu kılar.


sudo mysql_ssl_rsa_setup --uid=mysql
  • Bu komut MySQL için SSL sertifikaları üretir.


sudo systemctl restart mysql
  • Değişiklikleri uygulamak için MySQL yeniden başlatılır.


sudo ufw allow mysql

Güvenlik duvarında 3306 portu açılır.


2. Veritabanı ve Kullanıcı Oluşturma


sudo mysql
  • MySQL konsoluna giriş yapar.


CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

-WordPress için veritabanı oluşturur.



CREATE USER 'yerel_kullanici'@'localhost' IDENTIFIED BY 'guclu_sifre';
GRANT ALL PRIVILEGES ON wordpress.* TO 'yerel_kullanici'@'localhost';

Yerel yönetim için kullanıcı tanımlar.



CREATE USER 'uzak_kullanici'@'web_sunucusu_ipsi' IDENTIFIED BY 'guclu_sifre';
GRANT ALL PRIVILEGES ON wordpress.* TO 'uzak_kullanici'@'web_sunucusu_ipsi';
FLUSH PRIVILEGES;
EXIT;

Bu kullanıcı sadece web sunucusundan bağlanabilir.

3. Bağlantıyı Test Etme

(Web Sunucusu)


sudo apt update
sudo apt install mysql-client
  • MySQL istemcisi kurulur.


mysql -u uzak_kullanici -h veritabani_sunucu_ipsi -p

Uzak veritabanına bağlantı test edilir.


```sql

status;
  • SSL aktifse bağlantı güvenlidir.

4. Web Sunucusunu WordPress İçin Hazırlama


sudo apt install php-curl php-gd php-intl php-mbstring php-soap php-xml php-xmlrpc php-zip
  • WordPress için gerekli PHP eklentileri kurulur.


sudo systemctl restart php8.1-fpm

PHP servisi yeniden başlatılır.



sudo nano /etc/nginx/sites-available/site_adresiniz
  • Nginx yapılandırması açılır.


location / {
try_files $uri $uri/ /index.php$is_args$args;
}

location ~* \.(css|gif|ico|jpeg|jpg|js|png)$ {
expires max;
log_not_found off;
}

Permalink ve statik dosya önbelleklemesi sağlanır.



sudo systemctl reload nginx
  • Nginx yapılandırması yüklenir.

5. WordPress Kurulumu


cd /tmp
curl -LO https://wordpress.org/latest.tar.gz
tar xzvf latest.tar.gz
  • WordPress indirilir ve çıkarılır.


sudo cp -a /tmp/wordpress/. /var/www/site_adresiniz
sudo chown -R www-data:www-data /var/www/site_adresiniz
  • Dosyalar web dizinine taşınır.

6. wp-config.php Ayarları


cp wp-config-sample.php wp-config.php
nano wp-config.php
  • WordPress yapılandırma dosyası düzenlenir.

define('DB_NAME', 'wordpress');
define('DB_USER', 'uzak_kullanici');
define('DB_PASSWORD', 'guclu_sifre');
define('DB_HOST', 'veritabani_sunucu_ipsi');
define('MYSQL_CLIENT_FLAGS', MYSQLI_CLIENT_SSL);

WordPress uzak MySQL sunucusuna SSL ile bağlanır.


7. Web Arayüzünden Kurulumu Tamamlama

  • Tarayıcıdan şu adrese gidin:

https://site_adresiniz.com/wp-admin

Kurulum sihirbazını tamamlayın.


❓ Sıkça Sorulan Sorular (SSS)

1. Web ve veritabanını ayırmak neden önemli? Kaynak paylaşımı azalır, performans artar.

2. SSL zorunlu mu? Zorunlu değil ama güvenlik için şarttır.

3. Bu yapı ölçeklenebilir mi? Evet, büyük projeler için idealdir.

4. Yanlış IP girersem ne olur? MySQL bağlantıyı reddeder.

🚀 Sonuç

Uzak MySQL mimarisi performans ve güvenlik sağlar. Bu yapı profesyonel WordPress projeleri için idealdir.

👉 Rabisu Bulut üzerinde bu altyapıyı dakikalar içinde kurabilirsiniz.