Mevcut MySQL Veritabanından Veriler ServBay MariaDB'ye Nasıl Aktarılır?
ServBay, güçlü bir yerel Web geliştirme ortamı olup, varsayılan veritabanı yönetim sistemi olarak MariaDB ile birlikte gelir. MariaDB ve MySQL yüksek derecede uyumlu olduğundan, mevcut bir MySQL örneğinden ServBay’in entegre MariaDB’sine veri aktarmak oldukça doğrudan bir süreçtir. Bu makalede, mevcut bir MySQL veritabanınızın dışa aktarılması ve ServBay ortamındaki MariaDB'ye başarılı şekilde aktarılması adım adım açıklanmaktadır.
Genel Bakış
Bu rehber, geliştiricilerin mevcut projelerinin veya verilerinin MySQL veritabanını ServBay’in MariaDB’sine taşımasına yardımcı olmayı amaçlar. Böylece, verilerinizi yerel olarak kullanmaya ve test etmeye devam edebilir, ServBay’in sunduğu verimlilik ve kullanım kolaylığından faydalanabilirsiniz.
Kullanım Senaryoları
- Canlı ya da başka bir yerel makinedeki MySQL veritabanını ServBay ortamına taşıyarak yerel geliştirme yapmak.
- Mevcut MySQL veritabanlarını ServBay MariaDB örneğine birleştirmek ya da yedeklemek.
- Uygulamalarınızın mevcut MySQL verisiyle ServBay ortamında uyumluluğunu test etmek.
Ön Koşullar
Veri aktarma işlemine başlamadan önce aşağıdaki gerekliliklerin karşılandığından emin olun:
- MySQL’in kurulu ve çalışıyor olması: Aktarılacak verilerin bulunduğu mevcut bir MySQL veritabanı örneğine ihtiyacınız vardır. Sunucu adresi, port, kullanıcı adı ve şifre gibi bağlantı bilgilerini bildiğinizden emin olun.
- ServBay’in kurulu ve çalışıyor olması: ServBay’in MariaDB’si kurulu olup çalışıyor olmalıdır. Uygulamanın ana ekranındaki “Paketler” (ya da benzeri) bölümünden MariaDB’nin durumunu kontrol edebilirsiniz.
- ServBay MariaDB Bağlantı Bilgileri: MariaDB genellikle
127.0.0.1
(veyalocalhost
) adresindeki3306
portunda, varsayılan olarakroot
kullanıcısı ile çalışır. Tüm bağlantı detayları ve varsayılanroot
şifresini ServBay’in “Veritabanı” sekmesinden bulabilirsiniz. İlk kullanımda şifrenizi not alın veya gerektikçe değiştirin. - Veritabanı Kullanıcı Yetkileri: Kaynak MySQL veritabanından dışa aktarım için; ayrıca ServBay MariaDB’de aktarım ve veritabanı oluşturma yetkisine sahip olmalısınız (genellikle ServBay MariaDB
root
kullanıcısı bu yetkilere sahiptir). - Terminal Erişimi: Veritabanı dışa aktarma ve içe aktarma komutlarını terminalden çalıştırmalısınız. Buradaki örnek komutlar macOS veya Linux terminali için hazırlanmıştır.
Adım 1: Kaynak MySQL Veritabanından Veri Dışa Aktarma
Öncelikle, mysqldump
aracını kullanarak MySQL veritabanınızı bir SQL dosyasına dışa aktarın.
- Terminali açın: macOS Terminal uygulamasını başlatın.
- Kaynak MySQL Veritabanına Bağlanın: Aşağıdaki komutla veritabanınıza bağlanın. Sistem sizden şifre isteyecektir.bash
mysql -u your_mysql_username -p -h your_mysql_host -P your_mysql_port
1your_mysql_username
kısmına MySQL kullanıcı adınızı yazın.your_mysql_host
kısmına MySQL sunucu adresinizi yazın (ör.localhost
veya bir IP adresi).your_mysql_port
kısmına MySQL portunuzu yazın (varsayılan genellikle 3306’dır).- Eğer aynı makinede ve varsayılan portla işlem yapıyorsanız, bu komutu
mysql -u your_mysql_username -p
şeklinde kısaltabilirsiniz.
- Veritabanını Dışa Aktarın: Belirli bir veritabanını dışa aktarmak için aşağıdaki komutu kullanın (örneğin veritabanı adınız
mydatabase
ise):bashmysqldump -u your_mysql_username -p mydatabase > mydatabase.sql
1your_mysql_username
kısmını kendi kullanıcı adınızla değiştirin.mydatabase
yerine dışa aktarılacak veritabanının adını yazın.- Bu komut, veri yapısını ve içeriğini mevcut terminal dizininde
mydatabase.sql
adlı dosyaya yazar. Tam yol da kullanabilirsiniz (örn./path/to/your/directory/mydatabase.sql
). - Tüm veritabanlarını dışa aktarmak için
--all-databases
seçeneğini de kullanabilirsiniz (dikkatli olun). - Sadece belirli tabloları dışa aktarmak için, veritabanı adının ardından tablo isimlerini yazabilirsiniz.
Adım 2: ServBay MariaDB Veritabanını Hazırlama
Verileri içe aktarmadan önce, MariaDB içinde verilerin aktarılacağı yeni bir boş veritabanı oluşturmanız gerekebilir.
- Terminali açın: Açık değilse tekrar başlatın.
- ServBay MariaDB’ye Bağlanın: ServBay MariaDB bağlantı bilgilerini kullanın. Varsayılan olarak
root
kullanıcı adı ve ServBay uygulamasında belirtilen şifreyle bağlanabilirsiniz.bashmysql -u root -p -h 127.0.0.1 -P 3306
1- Sizden ServBay MariaDB’nin
root
şifresi istenecektir; bu şifreyi “Veritabanı” sekmesinde bulabilirsiniz. - Port veya ana bilgisayarı değiştirdiyseniz, uygun şekilde
-h
ve-P
parametrelerini değiştirin.
- Sizden ServBay MariaDB’nin
- Yeni Veritabanı Oluşturun: MariaDB terminalinde, aşağıdaki SQL komutunu girerek yeni bir veritabanı oluşturun. Orijinal MySQL veritabanı ile aynı adı kullanmanız önerilir (çekişme yoksa).sql
CREATE DATABASE mydatabase;
1mydatabase
kısmını kullanmak istediğiniz veritabanı adınızla değiştirin.
Adım 3: Verileri ServBay MariaDB’ye Aktarma
Artık dışa aktardığınız SQL dosyasını, ServBay MariaDB’de oluşturduğunuz yeni veritabanına aktarabilirsiniz.
- Terminali açın:
mydatabase.sql
dosyasının bulunduğu dizine geçin ya da tam yol kullanın. - SQL Dosyasını Aktarın: Aşağıdaki komutla verileri içe aktarabilirsiniz:bash
mysql -u root -p -h 127.0.0.1 -P 3306 mydatabase < mydatabase.sql
1root
şifresi istenir.mydatabase
kısmını adım 2’de yarattığınız veritabanı adı ile değiştirin.mydatabase.sql
dışa aktardığınız SQL dosyasının adı/tam yolu olmalıdır.
Aktarma işlemi, SQL dosyasının büyüklüğü ve veritabanı karmaşıklığına göre biraz sürebilir. İşlem sırasında terminalde belli bir çıktı görmeyebilirsiniz; aktarım tamamlanınca komut satırı yeniden gelecektir.
Adım 4: Veri Aktarımını Doğrulama
Aktarım tamamlandığında, ServBay MariaDB’ye bağlanıp verilerin doğru şekilde aktarıldığını kontrol etmeniz tavsiye edilir.
- ServBay MariaDB’ye Bağlanın:bash
mysql -u root -p -h 127.0.0.1 -P 3306
1root
şifresini girin.
- Veritabanını Seçin:sql
USE mydatabase;
1mydatabase
kısmını aktardığınız veritabanının ismiyle değiştirin.
- Verileri Sorgulayın: Tablo ve verilerin doğru geldiğinden emin olmak için aşağıdaki sorguları deneyebilirsiniz:sql
SHOW TABLES; -- Tüm tabloları listele SELECT COUNT(*) FROM your_table_name; -- Belirli tablodaki satır sayısını gör SELECT * FROM your_table_name LIMIT 10; -- Belirli tablodan ilk 10 satırı çek
1
2
3your_table_name
yerine kendi tablo adınızı yazın.
Beklenen sonuçları görüyorsanız, veri aktarımı başarılı olmuştur.
Olası Uyumluluk Sorunları ve Çözümleri
MariaDB, MySQL ile oldukça uyumlu olmasına karşın, bazı özel durumlarda uyumsuzluklarla karşılaşabilirsiniz. İşte sık rastlanan sorunlar ve olası çözümleri:
1. Spesifik SQL Söz Dizimi Uyumsuzlukları
Çok nadiren de olsa, MySQL’e özgü bazı SQL ifadeleri veya fonksiyonları MariaDB’de desteklenmeyebilir ya da farklı çalışabilir.
- Çözüm: Aktarım sırasında bir söz dizimi hatası oluşursa, dışa aktardığınız
mydatabase.sql
dosyasında sorunlu satırları bulup MariaDB’nin söz dizimiyle uyumlu hale getirmeniz gerekir. Gerekirse, MariaDB resmi dökümanlarından alternatif yöntemler araştırılabilir.
2. Depolama Motoru Uyumsuzlukları
MySQL ve MariaDB birçok depolama motorunu (InnoDB, MyISAM, Aria, XtraDB, vs.) destekler. Ancak, bazı MySQL’e özgü motorlar (ör. Archive, Blackhole) MariaDB’de veya tam tersi desteklenmeyebilir. İki sistemde en yaygın kullanılan motor InnoDB’dir ve her ikisinde de güçlü şekilde desteklenir.
- Çözüm: Eğer MariaDB’nin desteklemediği bir motor kullanılmışsa, aktarım sırasında uyarı veya hata alabilirsiniz. Aktarımdan önce
.sql
dosyanızda desteklenmeyen motor isimlerini (ör.ENGINE=...
)ENGINE=InnoDB
gibi bir değer ile değiştirebilirsiniz. Ayrıca, aktarım sonrası MariaDB’ye bağlanıpALTER TABLE tablo_adı ENGINE = InnoDB;
komutuyla tabloların motorunu değiştirebilirsiniz.
3. Kullanıcılar ve Yetkiler
mysqldump
ile alınan SQL dosyaları genellikle kullanıcı hesapları ve yetkilendirme detaylarını içermez. İçerse dahi, MySQL ile MariaDB’nin kullanıcı doğrulama sistemi ve hak yönetimi farklı olabilir; kullanıcı tablolarını doğrudan aktarmak sorun yaratabilir. ServBay MariaDB, varsayılan olarak bir root
kullanıcısı sunar, bu kullanıcı ile yönetim yapabilir veya yeni kullanıcılar oluşturabilirsiniz.
- Çözüm: Veri aktarımı sonrası, ihtiyacınız olan uygulama kullanıcılarını ve gerekli erişim haklarını ServBay MariaDB üzerinde yeniden oluşturmalısınız. MariaDB’ye bağlandıktan sonra aşağıdaki örnek SQL'leri kullanabilirsiniz:sql
-- Yeni kullanıcı oluştur (örnek değerleri kendinize göre değiştirin) CREATE USER 'your_username'@'localhost' IDENTIFIED BY 'your_password'; -- Kullanıcıya belirli bir veritabanında tüm yetkileri ver GRANT ALL PRIVILEGES ON mydatabase.* TO 'your_username'@'localhost'; -- Yetkileri yenile FLUSH PRIVILEGES;
1
2
3
4
5
6
7
8your_username
,localhost
(gerekirse%
),your_password
vemydatabase
alanlarını kendi bilgilerinizle değiştirin.- ServBay MariaDB
root
şifresini unuttuysanız, ServBay uygulaması veya dokümantasyonu içindeki kılavuzlarlaroot
şifresini (hem MariaDB hem PostgreSQL için) sıfırlayabilirsiniz.
Sonuç
Mevcut MySQL veritabanı verilerinin ServBay’in entegre MariaDB’sine aktarılması, geliştirme sürecinizi ServBay ortamına adapte etmenin önemli bir adımıdır. Bu süreç, temel olarak mysqldump
ile veri dışa aktarma, yeni veritabanı oluşturma, SQL dosyasını içe aktarma ve sonrasında doğrulama adımlarından oluşur. Buradaki detaylı adımları ve potansiyel uyumluluk sorunlarına karşı sunulan çözümleri izleyerek, veritabanı geçişini sorunsuz şekilde tamamlayabilir ve ServBay üzerinde verimli web geliştirmeye devam edebilirsiniz.