Ana içeriğe geç

MySQL Veritabanını Yeni Bir Sunucuya Taşıma (Ubuntu)

Bu rehberde ne öğreneceksiniz?​

Bu rehberde, aynı sunucuda çalışan uygulama ve MySQL veritabanını ayırmayı öğreneceksiniz.
Amaç, performansı artırmak ve altyapıyı ölçeklenebilir hale getirmektir.


🧠 Teknik Özet​

Ana Teknik Konu:
MySQL veritabanının Ubuntu sunucular arasında taşınması (migration).

Çözülen Problem:
LAMP mimarisinde artan trafik nedeniyle kaynakların yetersiz kalması.

İzlenen Adımlar:

  • Yeni MySQL sunucusu kurulumu
  • Uzak bağlantı yapılandırması
  • Mevcut verinin yedeklenmesi
  • Yeni sunucuya veri aktarımı
  • Uygulamanın yeni veritabanına yönlendirilmesi

1️⃣ Yeni Veritabanı Sunucusunu Kurun​

Yeni sunucunuza bağlanın ve MySQL’i kurun:

sudo apt-get update
sudo apt-get install mysql-server
sudo mysql_install_db
sudo mysql_secure_installation
  • Bu komutlar MySQL’i kurar ve temel güvenlik ayarlarını tamamlar.

2️⃣ MySQL’i Uzak Bağlantılara Açın​

  1. MySQL varsayılan olarak sadece localhost üzerinden dinler.
  • Yapılandırma dosyasını açın:

sudo vi /etc/mysql/my.cnf
  • Bu dosya MySQL ağ ayarlarını içerir.

  • Aşağıdaki satırı bulun ve değiştirin:

bind-address = YENI_SUNUCU_OZEL_IP
  • Bu ayar MySQL’in özel IP üzerinden bağlantı kabul etmesini sağlar.

Servisi yeniden başlatın:


sudo service mysql restart

3️⃣ Eski Veritabanını Güvenle Dışa Aktarın​

  • Veri tutarlılığı için veritabanını kilitleyin:

FLUSH TABLES WITH READ LOCK;
SET GLOBAL read_only = ON;
  • Bu işlem taşıma sırasında veri değişimini engeller.

  • Veritabanını yedekleyin:

mysqldump --lock-all-tables -u root -p --all-databases > dump.sql
  • Bu komut tüm veritabanlarını tek dosyada toplar.

Yedeği yeni sunucuya aktarın:


scp dump.sql kullanici@YENI_DB_OZEL_IP:/tmp

4️⃣ Verileri Yeni Sunucuya Aktarın​

  • Yeni veritabanı sunucusunda yedeği içe aktarın:

mysql -u root -p < /tmp/dump.sql
  • Bu adım tüm mevcut verileri yeni MySQL sunucusuna yükler.

5️⃣ Uygulama Sunucusu İçin MySQL Kullanıcısı Oluşturun​

  • MySQL kullanıcıları kullanıcı + bağlanılan IP mantığıyla çalışır.

Yeni kullanıcıyı oluşturun:


CREATE USER 'wp_kullanicisi'@'UYGULAMA_SUNUCU_OZEL_IP' IDENTIFIED BY 'guclu_sifre';

  • Yetkileri tanımlayın:

GRANT ALL PRIVILEGES ON wordpress.* TO 'wp_kullanicisi'@'UYGULAMA_SUNUCU_OZEL_IP';
FLUSH PRIVILEGES;
  • Bu işlem uygulamanın yeni sunucuya bağlanmasını sağlar.

6️⃣ Uygulama Yapılandırmasını Güncelleyin​

  • WordPress kullanıyorsanız yapılandırma dosyasını açın:

sudo vi /var/www/html/wp-config.php
  • Veritabanı adresini güncelleyin:

define('DB_HOST', 'YENI_SUNUCU_OZEL_IP');
  • Bu ayar uygulamayı yeni MySQL sunucusuna yönlendirir.

❓ Sıkça Sorulan Sorular (SSS)​

  1. Taşıma sırasında site kapanır mı? Hayır. Site salt-okunur moda geçer.

  2. Neden özel IP kullanıyoruz? Daha hızlı ve güvenli bağlantı sağlar.

  3. Eski MySQL servisini silmeli miyim? Önce durdurun. Testlerden sonra kaldırın.


🚀 Sonuç​

Veritabanını ayırarak altyapınızı ölçeklenebilir hale getirdiniz. Bu yapı yüksek trafik, replikasyon ve yük dengeleme için sağlam bir temel oluşturur. Profesyonel projelerinizi Rabisu Bulut altyapısında güvenle büyütebilirsiniz.