Tüm MySQL Veritabanlarını Eski Sunucudan Yeni Sunucuya Nasıl Aktarırım?


MySQL/MariaDB veritabanını sunucular arasında aktarmak veya taşımak genellikle yalnızca birkaç kolay adım gerektirir, ancak veri aktarımı, aktarmak istediğiniz veri hacmine bağlı olarak biraz zaman alabilir.

Bu makalede, tüm MySQL/MariaDB veritabanlarınızı eski bir Linux sunucusundan yeni bir sunucuya nasıl aktaracağınızı veya taşıyacağınızı, başarıyla içe aktaracağınızı ve verilerin orada olduğunu nasıl doğrulayacağınızı öğreneceksiniz.

Önemli notlar

  • Aynı dağıtıma sahip her iki sunucuda da aynı MySQL sürümünün kurulu olduğundan emin olun.
  • Veritabanı döküm dosyasını ve içe aktarılan veritabanını tutmak için her iki sunucuda da yeterli boş alana sahip olduğunuzdan emin olun.
  • Veritabanının data dizinini başka bir sunucuya taşımayı asla düşünmeyin. Veritabanının iç yapısına asla müdahale etmeyin, eğer yaparsanız ileride sorunlarla karşılaşırsınız.

MySQL Veritabanlarını Döküm Dosyasına Aktarma

Öncelikle eski sunucunuza giriş yapın ve gösterildiği gibi systemctl komutunu kullanarak mysql/mariadb hizmetini durdurun.

systemctl stop mariadb
OR
systemctl stop mysql

Daha sonra mysqldump komutunu kullanarak tüm MySQL veritabanlarınızı tek bir dosyaya boşaltın.

mysqldump -u [user] -p --all-databases > all_databases.sql

Döküm tamamlandıktan sonra veritabanlarını aktarmaya hazırsınız.

Tek bir veritabanının dökümünü almak istiyorsanız şunları kullanabilirsiniz:

mysqldump -u root -p --opt [database name] > database_name.sql

MySQL Veritabanlarının Döküm Dosyasını Yeni Sunucuya Aktarın

Şimdi veritabanı dökümü dosyanızı gösterildiği gibi giriş dizini altındaki yeni sunucuya aktarmak için scp komutunu kullanın.

scp all_databases.sql [email :~/       [All Databases]
scp database_name.sql [email :~/       [Singe Database]

Bağlandığınızda veritabanı yeni sunucuya aktarılacaktır.

MySQL Veritabanlarının Döküm Dosyasını Yeni Sunucuya Aktar

MySQL döküm dosyası yeni sunucuya aktarıldıktan sonra tüm veritabanlarınızı MySQL'e aktarmak için aşağıdaki komutu kullanabilirsiniz.

mysql -u [user] -p --all-databases < all_databases.sql   [All Databases]
mysql -u [user] -p newdatabase < database_name.sql      [Singe Database]

İçe aktarma işlemi tamamlandıktan sonra, mysql kabuğunda aşağıdaki komutu kullanarak her iki sunucudaki veritabanlarını doğrulayabilirsiniz.

mysql -u user -p
show databases;

MySQL Veritabanlarını ve Kullanıcılarını Yeni Sunucuya Aktarın

Tüm MySQL veritabanlarınızı, kullanıcılarınızı, izinlerinizi ve veri yapınızı eski sunucunuza taşımak istiyorsanız, mysql/mariadb veri dizinindeki tüm içeriği gösterildiği gibi yeni sunucuya kopyalamak için rsync komutunu kullanabilirsiniz.

rsync -avz /var/lib/mysql/* [email :/var/lib/mysql/ 

Aktarım tamamlandığında, mysql/mariadb veri dizininin sahipliğini kullanıcı ve grup mysql'sine ayarlayabilir, ardından tüm dosyaların aktarıldığını kontrol etmek için bir dizin listesi yapabilirsiniz.

chown mysql:mysql -R /var/lib/mysql/
ls  -l /var/lib/mysql/

GUI Kullanarak MySQL Veritabanını Taşıma

Modern veritabanı araçları, kullanıcıların MySQL veritabanı geçiş görevlerini kolaylaştırmasına olanak tanır. Ana faktör, geçiş sürecinin her adımında onlara rehberlik eden kullanıcı dostu bir grafik arayüzdür. Görev yapılandırması birkaç tıklama alır; MySQL veritabanını yeni bir hedefe aktarmak için manuel olarak herhangi bir komut yazmanıza gerek yoktur.

Tipik olarak bu tür araçlar, veritabanlarının tamamını veya parçalarını aktarmanın çeşitli yöntemlerini destekler. Yedekleme ve geri yükleme, veritabanlarının kopyalanması, veri içe aktarma ve dışa aktarma vb. olabilir.

Ayrıca, MySQL veri taşıma aracı, tek başına bir çözüm olabileceği gibi, dbForge Studio for MySQL gibi çok daha güçlü bir araç setinin parçası da olabilir ve geri kalan tüm veritabanı görevlerini karşılamaya uygundur.

Bu kadar! Bu makalede, tüm MySQL/MariaDB veritabanlarını bir sunucudan diğerine kolayca nasıl taşıyacağınızı öğrendiniz. Diğer yöntemlerle karşılaştırıldığında bu yöntemi nasıl buluyorsunuz? Bize ulaşmak için aşağıdaki yorum formunu kullanarak sizden haber almak isteriz.