ServBay Veritabanı Dosyası Yönetimi ve Taşınma Rehberi
ServBay, güçlü ve çok yönlü bir yerel web geliştirme ortamı olarak en sık kullanılan veritabanı yönetim sistemlerini entegre biçimde sunar ve veritabanı dosyalarını tutarlı bir şekilde yönetir. ServBay’in varsayılan veritabanı dosyası depolama yapısını anlamak, geliştiriciler için veri yedekleme, geri yükleme ve taşınma işlemlerinde büyük önem taşır.
Bu dokümanda, ServBay’deki varsayılan veritabanı dosyası depolama yapısı detaylı olarak açıklanmakta ve komut satırı araçlarıyla veritabanı dosyası yönetimi ile farklı ortamlara taşınma süreçlerine dair rehberlik sağlanmaktadır.
TIP
ServBay, MySQL, MariaDB ve PostgreSQL veritabanlarınız için otomatik veya manuel yedekleme ve geri yükleme özellikleri sunar. Daha fazla bilgiye Yedekleme ve Geri Yükleme bölümünden ulaşabilirsiniz.
ServBay’in Varsayılan Veritabanı Dosyası Depolama Yapısı
Farklı veritabanı sürümlerinin yönetimini ve izolasyonunu kolaylaştırmak için ServBay, tüm veritabanlarına ait verileri /Applications/ServBay/db
dizininde merkezi olarak düzenler. Dizin, önce veritabanı türüne göre ayrılır; ardından ilgili türde, ana sürüm numaralarıyla alt dizinler oluşturulur.
Aşağıda /Applications/ServBay/db
dizininin tipik bir yapısı örneklendirilmiştir:
/Applications/ServBay/db
├── mysql
│ ├── 8.0
│ └── 8.1
├── mariadb
│ ├── 10.10
│ ├── 10.11
│ ├── 10.5
│ ├── 10.6
│ ├── 10.7
│ ├── 10.8
│ ├── 10.9
│ ├── 11.0
│ ├── 11.1
│ ├── 11.2
│ └── 11.3
├── postgresql
│ ├── 10
│ ├── 11
│ ├── 12
│ ├── 13
│ ├── 14
│ ├── 15
│ └── 16
└── redis
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Dizin Yapısı Açıklamaları
/Applications/ServBay/db
: Burası ServBay’in tüm veritabanı dosyalarını tuttuğu ana dizindir.mysql
: MySQL veritabanı dosyalarını barındırır; alt dizinler ana sürüm numarasına (ör.8.0
,8.1
) göre ayrılır.mariadb
: MariaDB veritabanı dosyalarını barındırır; alt dizinler ana sürüm numarasına göre ayrılır (ör.10.11
,11.3
).postgresql
: PostgreSQL veritabanı dosyalarını barındırır; alt dizinler ana sürüm numarasına göre ayrılır (ör.15
,16
).redis
: Redis’in kalıcı veri dosyasını (genellikledump.rdb
) barındırır.
Bu yapı sayesinde ServBay’de aynı veritabanının birden fazla ana sürümü yan yana kurulabilir ve çalıştırılabilir; dosyaları birbiriyle karışmaz ve bağımsızdır.
Veritabanı Dosyası Yönetimi
Yerel geliştirme sürecinde, veritabanlarını düzenli olarak yedeklemek, geri yüklemek veya başka bir ortama taşımak gerekebilir. Aşağıda, ServBay’de bu işlemler için standart komut satırı araçlarının kullanımı anlatılmaktadır. Bu işlemler için ServBay’in kendi terminal ortamı veya ilgili ortam değişkenlerinin doğru ayarlanması gerekebilir; böylece veritabanı istemcileri ve yardımcı araçlar doğrudan çalıştırılabilir.
Veritabanı Yedekleme
Düzenli yedekleme, veri güvenliğinin en temel adımlarından biridir. ServBay üzerindeki çeşitli veritabanı türlerinde yedek alma örnekleri aşağıda sunulmuştur.
MySQL Yedekleme
MySQL veritabanını yedeklemenin standart yolu mysqldump
aracını kullanmaktır.
bash
# ServBay’in terminal ortamına geçin ya da PATH değişkeninizin ServBay'in bin dizinini içerdiğinden emin olun
# Örnek: export PATH="/Applications/ServBay/bin:$PATH"
mysqldump -u your_username -p your_database > /Applications/ServBay/backup/your_database.sql
1
2
3
4
2
3
4
your_username
: Kendi veritabanı kullanıcı adınız ile değiştirin.your_database
: Yedek almak istediğiniz veritabanının adını yazın./Applications/ServBay/backup/your_database.sql
: Yedek dosyanızı nereye kaydedecekseniz o dosya yolunu yazın. Yedeklerinizi tercihen ServBay dizini dışında, örneğin kendi kullanıcı klasörünüzde tutmanız önerilir.
MariaDB Yedekleme
MariaDB yedekleme işlemi MySQL ile aynıdır ve yine mysqldump
ile gerçekleştirilir.
bash
# ServBay’in terminal ortamına geçin ya da PATH değişkeninizin ServBay'in bin dizinini içerdiğinden emin olun
mysqldump -u your_username -p your_database > /Applications/ServBay/backup/your_database.sql
1
2
3
2
3
- Parametre açıklamaları yukarıdakiyle aynıdır.
PostgreSQL Yedekleme
PostgreSQL veritabanında yedek almak için pg_dump
aracı kullanılır. ServBay’de PostgreSQL genellikle Unix Domain Socket ile bağlanır; varsayılan socket yolu /Applications/ServBay/tmp
dizinindedir. Bu nedenle komutta -h /Applications/ServBay/tmp
parametresini eklemelisiniz.
bash
# ServBay’in terminal ortamına geçin ya da PATH değişkeninizin ServBay'in bin dizinini içerdiğinden emin olun
pg_dump -h /Applications/ServBay/tmp -U your_username -d your_database -F c -b -v -f /Applications/ServBay/backup/your_database.dump
1
2
3
2
3
- Bağlantı parametreleri: PostgreSQL sunucuya nasıl bağlanılacağını belirtir.
- macOS:
-h /Applications/ServBay/tmp
(Unix Domain Socket yolu) - Windows:
-h localhost -p 5432
(TCP bağlantısı)
- macOS:
-U your_username
: Kendi veritabanı kullanıcı adınız ile değiştirin.-d your_database
: Yedek almak istediğiniz veritabanının adını yazın.-F c
: Çıktı biçimi özel arşiv formatı olur (önerilir).-b
: Büyük nesneleri (blob) dahileder.-v
: Ayrıntılı çıktı verir.-f /Applications/ServBay/backup/your_database.dump
: Yedek dosya yolunu ve adını yazın.
Redis Yedekleme
Redis’te yedekleme genelde kalıcı veri dosyasının (dump.rdb
) kopyalanmasıyla yapılır.
bash
# ServBay’in terminal ortamına geçin
# Redis servisi çalışıyor olmalı ya da otomatik kaydetme (BGSAVE) yapılandırılmış olmalı
cp /Applications/ServBay/db/redis/dump.rdb /Applications/ServBay/backup/dump.rdb
1
2
3
4
2
3
4
/Applications/ServBay/db/redis/dump.rdb
: Redis’in varsayılan kalıcı veri dosyası yolu./Applications/ServBay/backup/dump.rdb
: Yedek dosyanın kaydedileceği yol ve ad.
Veritabanı Geri Yükleme
Veri kaybı yaşandığında veya verilerin önceki bir sürüme döndürülmesi gerektiğinde, yedek dosyalar ile geri yükleme yapmak mümkündür.
MySQL Geri Yükleme
MySQL yedek dosyasını geri yüklemek için mysql
istemcisini kullanabilirsiniz.
bash
# ServBay’in terminal ortamına geçin
mysql -u your_username -p your_database < /Applications/ServBay/backup/your_database.sql
1
2
3
2
3
your_username
: Kendi veritabanı kullanıcı adınız.your_database
: Geri yükleme yapılan veritabanı adı (oluşturulmuş olması gerekir)./Applications/ServBay/backup/your_database.sql
: Yedek dosyanızın yolu.
MariaDB Geri Yükleme
MariaDB geri yüklemesi de aynen MySQL ile aynı şekilde yapılır; mysql
istemcisi kullanılır.
bash
# ServBay’in terminal ortamına geçin
mysql -u your_username -p your_database < /Applications/ServBay/backup/your_database.sql
1
2
3
2
3
- Parametre açıklamaları yukarıdakiyle aynıdır.
PostgreSQL Geri Yükleme
PostgreSQL’de özel arşiv dosyasını geri yüklemek için pg_restore
kullanılır; yine socket yolu -h /Applications/ServBay/tmp
ile belirtilmelidir.
bash
# ServBay’in terminal ortamına geçin
pg_restore -h /Applications/ServBay/tmp -U your_username -d your_database -v /Applications/ServBay/backup/your_database.dump
1
2
3
2
3
- Bağlantı parametreleri: PostgreSQL sunucuya nasıl bağlanılacağını belirtir.
- macOS:
-h /Applications/ServBay/tmp
- Windows:
-h localhost -p 5432
- macOS:
-U your_username
: Veritabanı kullanıcı adınız.-d your_database
: Geri yükleme yapılan veritabanı adı (önceden oluşturulmuş olması önerilir).-v
: Ayrıntılı çıktı verir.- Yedek dosyası yolu: Geri yükleme yapılacak dosyanın yolu.
- macOS:
/Applications/ServBay/backup/your_database.dump
- Windows:
C:\ServBay\backup\your_database.dump
- macOS:
Redis Geri Yükleme
Redis’te geri yükleme için yedeklenmiş dump.rdb
dosyasını veri dizinine kopyalamak gerekir. Önemli: Bu işlemden önce Redis servisi kapalı olmalıdır.
bash
# ServBay’in terminal ortamına geçin
# ServBay’deki Redis hizmetini durdurun
# Yedek dosyasını kopyalayın
cp /Applications/ServBay/backup/dump.rdb /Applications/ServBay/db/redis/dump.rdb
# ServBay’deki Redis servisini başlatın
1
2
3
4
5
2
3
4
5
/Applications/ServBay/backup/dump.rdb
: Yedek dosyasının yolu./Applications/ServBay/db/redis/dump.rdb
: Redis’in varsayılan veri dosyası yolu.
Veritabanı Taşıma
Veritabanı taşıma, bir veritabanının başka bir ortama (örneğin başka bir ServBay kurulumu, uzak bir sunucu veya başka bir yerel sistem) aktarılmasıdır. Genelde kaynak ortamda veri dışa aktarılır, hedef ortamda ise içe aktarılır.
MySQL Taşıma
Geliştirme sürecinde MySQL taşıma sık karşılaşılan bir ihtiyaçtır.
Kaynak ortamda veritabanını dışa aktarın:
bash# Kaynak terminalde çalıştırın mysqldump -u your_source_username -p your_database > your_database.sql
1
2your_source_username
: Kaynak veritabanı kullanıcı adı.your_database
: Taşınacak veritabanı adı.your_database.sql
: Dışa aktarılan SQL dosya adı.
SQL dosyasını hedef ortama aktarın:
scp
veya başka bir dosya transfer aracıyla, dosyayı hedef ServBay ortamında erişilebilir bir yere (ör./Applications/ServBay/backup/
) kopyalayın.Hedef ServBay ortamında veritabanı oluşturun:
bash# ServBay terminalinde çalıştırın mysql -u your_target_username -p -e "CREATE DATABASE your_database;"
1
2your_target_username
: Hedef ServBay veritabanı kullanıcısı.your_database
: Oluşturulacak veritabanı adı (kaynak ile aynı olmalıdır).
Veritabanını içe aktarın:
bash# ServBay terminalinde çalıştırın mysql -u your_target_username -p your_database < /path/to/your_database.sql
1
2/path/to/your_database.sql
: SQL dosyasının hedefteki tam yolu.
MariaDB Taşıma
MariaDB taşıma adımları MySQL ile tamamen aynıdır.
- Kaynak ortamda veritabanını dışa aktarın:bash
# Kaynak terminalde çalıştırın mysqldump -u your_source_username -p your_database > your_database.sql
1
2 - SQL dosyasını hedef ortama aktarın.
- Hedef ServBay’de veritabanı oluşturun:bash
# ServBay terminalinde çalıştırın mysql -u your_target_username -p -e "CREATE DATABASE your_database;"
1
2 - Veritabanını içe aktarın:bash
# ServBay terminalinde çalıştırın mysql -u your_target_username -p your_database < /path/to/your_database.sql
1
2
PostgreSQL Taşıma
PostgreSQL taşıma için pg_dump
ve pg_restore
kullanılır. Socket yolu ServBay’de belirtilmelidir.
Kaynak ortamda veritabanını dışa aktarın:
bash# Kaynak ortamda çalıştırın # Kaynak ServBay ise: pg_dump -h /Applications/ServBay/tmp -U your_source_username -d your_database -F c -b -v -f your_database.dump # Farklı sistemler için bağlantı parametresini güncelleyin
1
2
3
4your_source_username
: Kaynak veritabanı kullanıcı adı.your_database
: Taşınacak veritabanı adı.your_database.dump
: Yedeklenen dosya adı.
Yedek dosyasını hedef ServBay ortamına aktarın: Dosya transfer aracı ile dosyayı hedef ServBay’de erişilebilir bir yere kopyalayın.
Hedef ServBay’de veritabanı oluşturun:
bash# ServBay terminalinde çalıştırın # Varsayılan postgres veritabanına bağlanıp yeni veritabanı oluşturun psql -h /Applications/ServBay/tmp -U your_target_username -d postgres -c "CREATE DATABASE your_database;"
1
2
3your_target_username
: Hedef ServBay veritabanı kullanıcısı.your_database
: Oluşturulacak veritabanı adı.
Veritabanını içe aktarın:
bash# ServBay terminalinde çalıştırın pg_restore -h /Applications/ServBay/tmp -U your_target_username -d your_database -v /path/to/your_database.dump
1
2/path/to/your_database.dump
: Hedefteki yedek dosyasının tam yolu.
Redis Taşıma
Redis taşıma genellikle dump.rdb
dosyasının doğrudan kopyalanmasını içerir.
Kaynak ortamda
dump.rdb
dosyasını alın:bash# Kaynak terminalde çalıştırın # Redis servisini durdurun veya BGSAVE tamamlanana kadar bekleyin cp /path/to/source/redis/dump.rdb ./dump.rdb
1
2
3dump.rdb
dosyasını hedef ServBay Redis veri dizinine aktarın:bash# Kaynak veya ara sunucuda çalıştırın scp ./dump.rdb your_target_server:/Applications/ServBay/db/redis/dump.rdb
1
2your_target_server
: Hedef ServBay sunucu adresi ya da makine adı.- Önemli: Dosyayı hedef ServBay’in
/Applications/ServBay/db/redis/
dizinine kopyalamadan önce Redis hizmetinin kapalı olduğundan emin olun.
Hedef ortamda Redis servisini başlatın: Servis başladıktan sonra yeni
dump.rdb
dosyası otomatik olarak yüklenecektir.
Dikkat Edilmesi Gerekenler
- Servis Durdurma: Veritabanı dosyalarını (özellikle MySQL/MariaDB/PostgreSQL veri dizinleri) kopyalamadan veya taşımadan önce, ilgili veritabanı servisinin ServBay GUI veya komut satırı aracı ile tamamen durdurulması gerekmektedir. Çalışan veritabanı dosyalarının doğrudan kopyalanması veri tutarsızlığına veya dosya bozulmasına yol açabilir. Redis'te
dump.rdb
ile geri yükleme öncesinde de servisin kapalı olması şarttır. - Yetki Sorunları: Dosya kopyalama, taşıma veya içe/dışa aktarma işlemleri için yeterli dizin ve dosya yetkisine sahip olduğunuzdan emin olun.
- Dosya Yolları: ServBay’in kurulu olduğu yol (genellikle
/Applications/ServBay
) ve veritabanı dosyalarınızın tam konumunu dikkatlice kontrol edin; özellikle sürüme göre alt dizinler farklılık gösterebilir. - Kullanıcı ve Yetki Ayarları: Taşıma sonrası, veritabanındaki kullanıcılar, yetkiler ve yapılandırma dosyalarının yeni ortama uygun olarak güncellenmesi gerekebilir.
- ServBay Dahili Yedekleme: ServBay, ayarlar, site dosyaları, veritabanları ve SSL sertifikalarınız için kolay bir GUI üzerinden dahili yedekleme ve geri yükleme özellikleri sunar; manuel dosya yönetimine ek veya alternatif olarak kullanılabilir.
Sonuç
ServBay’in tutarlı dosya yapısı, geliştiricilere veritabanı yönetiminde net ve güvenilir bir temel sağlar. Bu rehberde, ServBay’de MySQL, MariaDB, PostgreSQL ve Redis için dosya konumları ile standart komut satırı araçlarıyla yedekleme, geri yükleme ve taşınma adımları uygulamalı olarak anlatılmıştır. Bu pratik bilgilerle yerel geliştirme ortamınızda veritabanı verilerinizi etkili şekilde yönetebilir, veri güvenliğini sağlayabilir ve farklı ortamlar arasında projelerinizi zahmetsizce taşıyabilirsiniz. ServBay’in ek kolaylıklarından (örneğin dahili yedekleme) faydalanarak geliştirme ve veri yönetimi süreçlerinizi daha da verimli hale getirebilirsiniz.