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
- 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)
-
Taşıma sırasında site kapanır mı? Hayır. Site salt-okunur moda geçer.
-
Neden özel IP kullanıyoruz? Daha hızlı ve güvenli bağlantı sağlar.
-
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.