ServBay Veritabanı Dosya Yönetimi ve Taşıma Rehberi
ServBay, güçlü bir yerel web geliştirme ortamı olarak, birçok popüler veritabanı yönetim sistemini entegre eder ve bu sistemlerin veri dosyalarını standart bir yapıda yönetir. ServBay’in varsayılan veritabanı dosya depolama yapısını anlamak; geliştiriciler için veri yedekleme, geri yükleme ve projeleri farklı ortamlara taşıma süreçlerinde son derece kritiktir.
Bu döküman, ServBay’deki varsayılan veritabanı dosya depolama yapısını detaylıca tanıtarak, standart komut satırı araçları ile veritabanı dosyalarının yönetimi ve farklı ortamlar arasında taşınması hakkında rehberlik sunar.
TIP
ServBay, MySQL, MariaDB ve PostgreSQL veritabanlarınızı otomatik veya manuel olarak yedekleyip geri yüklemenizi sağlayan dahili bir özellik sunar. Detaylar için Yedekleme ve Geri Yükleme bölümüne bakabilirsiniz.
ServBay’in Varsayılan Veritabanı Dosya Yapısı
Farklı veritabanı sürümlerinin verilerini yönetmek ve izole etmek kolay olsun diye, ServBay tüm veritabanı veri dosyalarını /Applications/ServBay/db
dizininde toplar. Bu ana dizin; veritabanı türüne göre alt klasörlere ayrılır ve her tür altında da ana sürüm numarasına (major version) göre alt klasörler bulunur.
İşte /Applications/ServBay/db
dizininin tipik bir yapısı:
/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çıklaması
/Applications/ServBay/db
: ServBay’in tüm veritabanı veri dosyalarını sakladığı ana dizindir.mysql
: MySQL veritabanı veri dosyası klasörüdür. Alt klasörler ana sürüm numarasına göre ayrılır (8.0
,8.1
gibi).mariadb
: MariaDB veri dosyası klasörüdür. Alt klasörler yine ana sürüme göre gruplandırılır (10.11
,11.3
gibi).postgresql
: PostgreSQL veri dosyalarının bulunduğu klasör. Ana sürüm numarasına göre alt klasörler yer alır (15
,16
gibi).redis
: Redis’in kalıcı veri dosyalarını içerir, genellikle buradadump.rdb
dosyası olur.
Bu yapı sayesinde, ServBay üzerinde aynı veritabanı türünün birden fazla ana sürümünü yan yana kurup çalıştırabilirsiniz ve veri dosyaları birbirinden tamamen izole olur, hiçbir şekilde birbirini etkilemez.
Veritabanı Dosyası Yönetimi
Yerel geliştirme esnasında veritabanlarını düzenli olarak yedeklemek, geri yüklemek ya da ortamlar arasında taşımak gerekebilir. Aşağıda her veritabanı türü için bu işlemleri standart komut satırı araçlarıyla nasıl yapabileceğiniz anlatılıyor. Dikkat: Bu işlemleri yaparken ServBay’in sağladığı terminal ortamını kullanmalı ya da çevre değişkenlerinizin, ilgili veritabanı istemci ve araçlarını doğrudan bulabilecek şekilde ayarlandığından emin olmalısınız.
Veritabanı Yedekleme
Düzenli bir yedekleme programı, veri güvenliğiniz için en önemli adımlardan biridir. Aşağıda, ServBay ortamında popüler veritabanı türlerinin nasıl yedekleneceği gösterilmiştir.
MySQL Yedekleme
MySQL veritabanınızı standart mysqldump
aracıyla yedekleyebilirsiniz.
bash
# ServBay’in sağladığı terminal ortamına geçin veya PATH ortam değişkeninizde ServBay’in bin dizini olduğundan 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
: Veritabanı kullanıcı adınızla değiştirin.your_database
: Yedeklemek istediğiniz veritabanının adını yazın./Applications/ServBay/backup/your_database.sql
: Yedek dosyasını nereye kaydetmek istiyorsanız o yolu ve dosya adını yazın. Dosyaları ServBay dışında bir yere, örneğin kullanıcı klasörünüze kaydetmeniz tavsiye edilir.
MariaDB Yedekleme
MariaDB yedekleme işlemi aynen MySQL gibi yapılır; yine mysqldump
aracı kullanılır.
bash
# ServBay’in sağladığı terminal ortamına geçin veya PATH ortam değişkeninizde ServBay’in bin dizini olduğundan 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 için pg_dump
aracı kullanılır. ServBay üzerinde PostgreSQL genellikle Unix Domain Socket ile çalışır; soket yolu genellikle /Applications/ServBay/tmp
’dır, bu yüzden komutta -h /Applications/ServBay/tmp
parametresini eklemek gerekir.
bash
# ServBay’in sağladığı terminal ortamına geçin veya PATH ortam değişkeninizde ServBay’in bin dizini olduğundan 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
-h /Applications/ServBay/tmp
: PostgreSQL sunucusunun socket dosya yolunu belirtir.-U your_username
: Kendi veritabanı kullanıcı adınız ile değiştirin.-d your_database
: Yedeklemek istediğiniz veritabanı adı ile değiştirin.-F c
: Çıktı formatı olarak özelleştirilmiş arşiv formatını seçer (önerilir).-b
: Büyük nesneleri (blobs) dahil eder.-v
: Detaylı çıktı verir.-f /Applications/ServBay/backup/your_database.dump
: Yedeğin kaydedileceği yolu ve ismi yazın.
Redis Yedekleme
Redis yedeklemek için genellikle kalıcı dosya olan dump.rdb
dosyasını kopyalamak yeterlidir.
bash
# ServBay’in sağladığı terminal ortamına geçin
# Redis servisi çalışıyor olmalı veya otomatik kaydetme (BGSAVE) açık 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ı dosya yolu./Applications/ServBay/backup/dump.rdb
: Yedek dosyasını kaydetmek istediğiniz yeni yol ve isim.
Veritabanı Geri Yükleme
Veri kaybı yaşadığınızda veya geri almak istediğiniz bir durum için yedek dosyanızı geri yükleyebilirsiniz.
MySQL Geri Yükleme
MySQL yedeğini mysql
istemcisiyle sisteme tekrar yükleyebilirsiniz.
bash
# ServBay’in sağladığı 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
: Veritabanı kullanıcı adınız.your_database
: Geri yükleme yapılacak veritabanı adı. Bu veritabanı önceden oluşturulmuş olmalı./Applications/ServBay/backup/your_database.sql
: Yedek dosyanızın tam yolu.
MariaDB Geri Yükleme
MariaDB geri yükleme işlemleri de MySQL ile aynı şekilde yapılır; yine mysql
istemcisi kullanılır.
bash
# ServBay’in sağladığı 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 özelleştirilmiş formatlı yedekleri geri yüklemek için pg_restore
aracı kullanılır. Yine socket dosya yolunu belirtmek önemlidir.
bash
# ServBay’in sağladığı 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
-h /Applications/ServBay/tmp
: PostgreSQL sunucusunun socket dosya yolu.-U your_username
: Veritabanı kullanıcı adınız.-d your_database
: Yedeği yüklenecek veritabanı adı. Önceden oluşturulmuş olmalı.-v
: Detaylı çıktı bilgisi./Applications/ServBay/backup/your_database.dump
: Yedek dosyanızın tam yolu.
Redis Geri Yükleme
Redis yedeğini geri yüklemek için, öncelikle Redis servisinin durduğundan emin olun, ardından yedeği veri klasörüne kopyalayın. Önemli: Bu işlemden önce Redis’i durdurduğunuzdan emin olun.
bash
# ServBay’in sağladığı terminal ortamına geçin
# ServBay’deki Redis servisini durdurun
# Yedek dosyasını geri yükleyin
cp /Applications/ServBay/backup/dump.rdb /Applications/ServBay/db/redis/dump.rdb
# Ardından ServBay’de Redis servisini tekrar başlatın
1
2
3
4
5
2
3
4
5
/Applications/ServBay/backup/dump.rdb
: Yedek dosyanızın yolu./Applications/ServBay/db/redis/dump.rdb
: Redis’in varsayılan veri saklama yolu.
Veritabanı Taşıma (Aktarma)
Veritabanı taşımak, bir ortamdan (farklı bir ServBay kurulumu, uzak sunucu veya başka bir yerel ortam olabilir) başka bir ortama verilerinizi aktarma işlemidir. Bu süreç genellikle kaynak ortamdan dışa aktarım (export) ve hedef ortama içe aktarma (import) adımlarından oluşur.
MySQL Taşıma
Günlük geliştiricilikte MySQL taşıma oldukça yaygın bir senaryodur:
Kaynak ortamda veritabanını dışa aktarın:
bash# Kaynak ortam terminalinde çalıştırın mysqldump -u your_source_username -p your_database > your_database.sql
1
2your_source_username
: Kaynak ortamın kullanıcı adı.your_database
: Taşınacak veritabanı adı.your_database.sql
: Dışa aktarılan SQL dosyasının adı.
Dışa aktarılan SQL dosyasını hedef ortama aktarın:
scp
veya başka bir dosya transfer aracı ileyour_database.sql
dosyasını hedef ServBay ortamında ulaşılabilir bir konuma taşıyın (örneğin/Applications/ServBay/backup/
).Hedef ServBay ortamında yeni veritabanı oluşturun:
bash# Hedef ServBay terminalinde çalıştırın mysql -u your_target_username -p -e "CREATE DATABASE your_database;"
1
2your_target_username
: Hedef ServBay’deki kullanıcı adınız.your_database
: Kurulacak veritabanı adı (kaynak veritabanı ile aynı olması önerilir).
Hedef ServBay ortamında veritabanını içe aktarın:
bash# Hedef 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
: Hedef ortamdaki SQL dosyanızın tam yolu.
MariaDB Taşıma
MariaDB taşıma adımları, MySQL ile tamamen aynıdır çünkü aynı komut satırı araçlarını ve aynı dosya formatını kullanır.
- Kaynak ortamda veritabanını dışa aktarın:bash
# Kaynak ortam terminalinde çalıştırın mysqldump -u your_source_username -p your_database > your_database.sql
1
2 - Dışa aktarılan SQL dosyasını hedef ortama aktarın.
- Hedef ServBay ortamında yeni veritabanı oluşturun:bash
# Hedef ServBay terminalinde çalıştırın mysql -u your_target_username -p -e "CREATE DATABASE your_database;"
1
2 - Hedef ServBay ortamında veritabanını içe aktarın:bash
# Hedef 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 sürecinde, yine pg_dump
ve pg_restore
araçlarını kullanmalısınız. ServBay ortamında socket dosya yoluna dikkat edin.
Kaynak ortamda veritabanını dışa aktarın:
bash# Kaynak ortam terminalinde çalıştırın # Eğer kaynak ortam ServBay ise: pg_dump -h /Applications/ServBay/tmp -U your_source_username -d your_database -F c -b -v -f your_database.dump # Eğer başka bir sistemse, ona uygun bağlantı parametrelerini kullanın
1
2
3
4your_source_username
: Kaynak ortamın veritabanı kullanıcı adı.your_database
: Taşınacak veritabanı.your_database.dump
: Dışa aktarılan yedek dosyasının adı.
Dışa aktarılan yedek dosyasını hedef ServBay ortamına aktarın:
scp
veya başka bir dosya transfer aracıylayour_database.dump
dosyasını hedef ServBay ortamında ulaşılabilir bir konuma iletin.Hedef ServBay ortamında yeni veritabanı oluşturun:
bash# Hedef ServBay terminalinde çalıştırın # Yeni veritabanı oluşturmak için varsayılan postgres veritabanına bağlanın psql -h /Applications/ServBay/tmp -U your_target_username -d postgres -c "CREATE DATABASE your_database;"
1
2
3your_target_username
: Hedef ServBay ortamındaki kullanıcı adı.your_database
: Oluşturulacak veritabanı adı.
Hedef ServBay ortamında yedeği veritabanına aktarın:
bash# Hedef 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
: Yedek dosyasının hedef ortamdaki tam yolu.
Redis Taşıma
Redis taşımak genellikle dump.rdb
dosyasını doğrudan kopyalayarak yapılır.
Kaynak ortamda
dump.rdb
dosyasını alın:bash# Kaynak ortam terminalinde çalıştırın # Redis servisi kapalı olmalı veya BGSAVE’in bitmesi beklenmeli cp /path/to/source/redis/dump.rdb ./dump.rdb
1
2
3dump.rdb
dosyasını hedef ServBay ortamındaki 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 sunucusunun adresi veya adı.- Önemli: Kopyalamadan önce hedef ServBay ortamındaki Redis servisinin durduğundan emin olun!
Hedef ServBay ortamında Redis’i başlatın: Redis servisini başlattığınızda, yeni
dump.rdb
dosyasını otomatik olarak yükler.
Dikkat Edilmesi Gerekenler
- Servisleri durdurun: İlgili veritabanı servislerini (özellikle MySQL/MariaDB/PostgreSQL veritabanı klasörlerini kopyalarken) doğrudan dosya işlemine başlamadan önce mutlaka ServBay’in GUI’si veya komut satırı aracıyla durdurun. Çalışan bir servise ait veri dosyalarını doğrudan kopyalamak veri tutarsızlığına veya bozulmasına yol açabilir. Redis için de
dump.rdb
dosyasıyla geri yükleme yapılırken hizmet durdurulmalıdır. - Yetki ve izinler: Dosya kopyalama, taşıma ya da içe aktarma işlemini yapan kullanıcının dosya/dizine erişim ve yazma yetkisi olduğundan emin olun.
- Dosya yolları: ServBay’in kurulu olduğu yolu (genelde
/Applications/ServBay
) ve her bir veritabanı dosyasının bulunduğu alt klasörleri dikkatle kontrol edin; özellikle farklı veritabanı sürümlerinde yol yapıları değişebilir. - Kullanıcılar ve yetkiler: Taşıma sonrası, veritabanı kullanıcıları, yetkileri ve yapılandırma dosyalarının yeni ortama uygun şekilde güncellenip güncellenmediğini kontrol edin.
- ServBay dahili yedekleme: ServBay ayrıca grafik arayüzünden ayar, web sitesi dosyası, veritabanı ve SSL sertifika yedeklerini kolayca alıp geri yükleme özelliği sunar. Bu özellik, manuel dosya işlemlerine ek olarak, daha pratik bir alternatif de sunar.
Özet
ServBay’in düzenli ve standart dosya yapısı, geliştiriciler için veritabanı veri yönetimini son derece şeffaf ve anlaşılır kılar. Bu rehberde, ServBay ortamında MySQL, MariaDB, PostgreSQL ve Redis için veri dosyalarının nerede bulunduğu ile yedekleme, geri yükleme ve taşıma işlemlerini nasıl komut satırı araçlarıyla yapacağınızı detaylıca öğrendiniz. Geliştirici olarak bu konulara hâkim olmanız, yerel geliştirme projelerinizdeki veritabanı verilerinizi daha güvenli ve kolay yönetmenizi, farklı ortamlar arasında projelerinizi akıcı bir şekilde taşımanızı sağlar. Ayrıca, ServBay’in sunduğu gelişmiş yedekleme gibi araçlarla, geliştirme verimliliğinizi ve veri yönetimi yetkinliğinizi üst düzeye çıkarabilirsiniz.