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.