Panduan Pengurusan & Migrasi Fail Pangkalan Data ServBay
Sebagai satu persekitaran pembangunan web tempatan yang berkuasa, ServBay telah menggabungkan pelbagai sistem pengurusan pangkalan data yang popular dengan pengurusan fail yang diselaraskan. Memahami struktur penyimpanan fail pangkalan data lalai oleh ServBay adalah penting bagi pembangun, terutamanya untuk urusan sandaran, pemulihan dan migrasi data.
Dokumen ini memberikan penjelasan terperinci mengenai struktur penyimpanan fail pangkalan data ServBay serta panduan pengurusan fail dan migrasi antara persekitaran dengan alat baris perintah standard.
TIP
ServBay menawarkan fungsi sandaran dan pemulihan data yang membolehkan anda membuat sandaran MySQL, MariaDB dan PostgreSQL secara automatik atau manual. Sila rujuk Sandaran & Pemulihan untuk maklumat lanjut.
Struktur Penyimpanan Fail Pangkalan Data Lalai ServBay
Untuk memudahkan pengurusan dan mengasingkan data untuk setiap versi pangkalan data, ServBay menempatkan semua fail data pangkalan data di bawah direktori /Applications/ServBay/db
. Direktori ini diatur mengikut jenis pangkalan data, dan setiap jenis akan mempunyai subdirektori berdasarkan nombor versi utama (major version).
Berikut ialah contoh struktur tipikal untuk direktori /Applications/ServBay/db
:
/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
Penjelasan Struktur Direktori
/Applications/ServBay/db
: Direktori induk di mana semua fail pangkalan data ServBay disimpan.mysql
: Tempat simpanan semua fail data bagi MySQL. Subdirektori dibahagikan mengikut versi utama seperti8.0
,8.1
.mariadb
: Menyimpan fail data bagi MariaDB, dibahagi mengikut versi utama (cth.10.11
,11.3
).postgresql
: Menempatkan fail data untuk PostgreSQL, subdirektori berdasarkan versi utama (cth.15
,16
).redis
: Menyimpan fail persisten Redis, biasanyadump.rdb
.
Dengan struktur ini, anda boleh memasang dan menjalankan beberapa versi utama bagi satu jenis pangkalan data dalam ServBay secara serentak. Setiap versi adalah terasing dan tidak bertindih antara satu sama lain.
Pengurusan Fail Pangkalan Data
Sepanjang pembangunan tempatan, anda kerap perlu melakukan sandaran, pemulihan, atau migrasi data pangkalan data. Berikut ialah kaedah mengurus operasi ini menggunakan alat baris perintah rasmi. Sila pastikan anda menggunakan terminal yang disediakan oleh ServBay atau bahawa pembolehubah persekitaran telah dikonfigurasi untuk menggunakan klien dan alat pangkalan data yang betul.
Sandaran Pangkalan Data
Melakukan sandaran secara berkala adalah langkah penting untuk menjamin keselamatan data. Berikut ialah contoh cara melakukan sandaran bagi setiap jenis pangkalan data dalam ServBay.
Sandaran MySQL
Mengesport sandaran MySQL dilakukan melalui alat mysqldump
.
bash
# Masuk ke terminal ServBay atau pastikan PATH mengandungi direktori bin ServBay
# Contoh: 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
: Gantikan dengan nama pengguna MySQL anda.your_database
: Nama pangkalan data yang ingin disandarkan./Applications/ServBay/backup/your_database.sql
: Gantikan dengan laluan dan nama fail sandaran yang anda inginkan. Sebaiknya simpan fail sandaran di luar direktori ServBay, misalnya dalamHome Directory
pengguna anda.
Sandaran MariaDB
Kaedah sandaran MariaDB adalah sama seperti MySQL dan menggunakan mysqldump
.
bash
# Masuk ke terminal ServBay atau pastikan PATH mengandungi direktori bin ServBay
mysqldump -u your_username -p your_database > /Applications/ServBay/backup/your_database.sql
1
2
3
2
3
- Maklumat parameter adalah sama seperti di atas.
Sandaran PostgreSQL
Gunakan alat pg_dump
untuk menyandarkan pangkalan data PostgreSQL. Dalam persekitaran ServBay, PostgreSQL biasanya menghubung menggunakan Unix Domain Socket pada laluan /Applications/ServBay/tmp
. Maka, tambahkan parameter -h /Applications/ServBay/tmp
dalam arahan.
bash
# Masuk ke terminal ServBay atau pastikan PATH mengandungi direktori bin ServBay
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
: Nyatakan laluan fail socket untuk pelayan PostgreSQL.-U your_username
: Nama pengguna pangkalan data anda.-d your_database
: Nama pangkalan data yang hendak disandarkan.-F c
: Format output arkib tersuai (disarankan).-b
: Sertakan objek besar (blobs).-v
: Paparan maklumat terperinci.-f /Applications/ServBay/backup/your_database.dump
: Laluan dan nama fail sandaran.
Sandaran Redis
Untuk Redis, sandaran biasanya dilakukan dengan menyalin fail persisten dump.rdb
.
bash
# Masuk ke terminal ServBay
# Pastikan khidmat Redis sedang berjalan atau sudah dikonfigurasi untuk auto-save (BGSAVE)
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
: Laluan fail persisten Redis./Applications/ServBay/backup/dump.rdb
: Laluan dan nama fail sandaran.
Pemulihan Pangkalan Data
Jika berlaku kehilangan data atau ingin kembali ke keadaan sebelumnya, anda boleh memulihkan pangkalan data secara terus daripada fail sandaran.
Pemulihan MySQL
Penggunaan klien mysql
untuk memulihkan sandaran MySQL:
bash
# Masuk ke terminal ServBay
mysql -u your_username -p your_database < /Applications/ServBay/backup/your_database.sql
1
2
3
2
3
your_username
: Nama pengguna pangkalan data.your_database
: Nama pangkalan data yang ingin dipulihkan (pastikan telah dicipta terlebih dahulu)./Applications/ServBay/backup/your_database.sql
: Lalu sandaran fail yang ingin dipulihkan.
Pemulihan MariaDB
Kaedah ini sama seperti MySQL: gunakan klien mysql
.
bash
# Masuk ke terminal ServBay
mysql -u your_username -p your_database < /Applications/ServBay/backup/your_database.sql
1
2
3
2
3
- Penjelasan parameter adalah sama seperti di atas.
Pemulihan PostgreSQL
Untuk memulihkan sandaran dalam format tersuai PostgreSQL, gunakan alat pg_restore
, beserta laluan socket yang betul.
bash
# Masuk ke terminal ServBay
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
: Laluan socket pelayan PostgreSQL.-U your_username
: Nama pengguna.-d your_database
: Nama pangkalan data untuk dipulihkan (pastikan telah dicipta).-v
: Papar maklumat lanjut./Applications/ServBay/backup/your_database.dump
: Laluan fail sandaran.
Pemulihan Redis
Untuk Redis, pemulihan biasanya dilakukan dengan menyalin semula fail dump.rdb
sandaran ke direktori data Redis. PENTING: Pastikan servis Redis telah dihentikan sebelum tindakan ini.
bash
# Masuk ke terminal ServBay
# Hentikan servis Redis dalam ServBay
# Salin fail sandaran
cp /Applications/ServBay/backup/dump.rdb /Applications/ServBay/db/redis/dump.rdb
# Mulakan semula servis Redis dalam ServBay
1
2
3
4
5
2
3
4
5
/Applications/ServBay/backup/dump.rdb
: Laluan fail sandaran./Applications/ServBay/db/redis/dump.rdb
: Laluan fail persisten Redis.
Migrasi Pangkalan Data
Migrasi merujuk kepada proses memindahkan pangkalan data dari satu persekitaran (ServBay lain, pelayan jauh, atau persekitaran tempatan lain) ke yang lain. Lazimnya, data dieksport dari persekitaran sumber dan diimport ke destinasi.
Migrasi MySQL
Lihat migrasi MySQL — situasi lazim dalam pembangunan harian.
Eksport pangkalan data daripada persekitaran sumber:
bash# Jalankan di terminal pada persekitaran sumber mysqldump -u your_source_username -p your_database > your_database.sql
1
2your_source_username
: Nama pengguna pada persekitaran sumber.your_database
: Nama pangkalan data yang ingin dimigrasi.your_database.sql
: Nama fail SQL hasil eksport.
Pindahkan fail SQL ke destinasi: Gunakan
scp
atau alat pemindahan fail lain untuk memindahkanyour_database.sql
ke direktori dalam ServBay destinasi yang boleh diakses (seperti/Applications/ServBay/backup/
).Cipta pangkalan data di ServBay destinasi:
bash# Jalankan pada terminal ServBay destinasi mysql -u your_target_username -p -e "CREATE DATABASE your_database;"
1
2your_target_username
: Nama pengguna pangkalan data pada destinasi.your_database
: Nama pangkalan data yang ingin dicipta (mesti sama dengan sumber).
Import data ke pangkalan data destinasi:
bash# Jalankan di terminal ServBay destinasi mysql -u your_target_username -p your_database < /path/to/your_database.sql
1
2/path/to/your_database.sql
: Laluan fail SQL pada ServBay destinasi.
Migrasi MariaDB
Lihat migrasi MariaDB — langkah adalah identik dengan MySQL kerana kedua-duanya menggunakan alat dan format fail yang sama.
- Eksport pangkalan data dari sumber:bash
# Jalankan di terminal pada persekitaran sumber mysqldump -u your_source_username -p your_database > your_database.sql
1
2 - Pindahkan fail SQL ke destinasi.
- Cipta pangkalan data pada ServBay destinasi:bash
# Jalankan di terminal ServBay destinasi mysql -u your_target_username -p -e "CREATE DATABASE your_database;"
1
2 - Import data ke ServBay destinasi:bash
# Jalankan di terminal ServBay destinasi mysql -u your_target_username -p your_database < /path/to/your_database.sql
1
2
Migrasi PostgreSQL
Lihat migrasi PostgreSQL menggunakan pg_dump
dan pg_restore
. Pastikan parameter socket ServBay digunakan.
Eksport pangkalan data dari sumber:
bash# Jalankan di terminal sumber # Jika ServBay merupakan sumber pg_dump -h /Applications/ServBay/tmp -U your_source_username -d your_database -F c -b -v -f your_database.dump # Jika persekitaran selain ServBay, sesuaikan parameter sambungan
1
2
3
4your_source_username
: Nama pengguna pada sumber.your_database
: Nama pangkalan data.your_database.dump
: Nama fail sandaran.
Pindahkan fail sandaran ke ServBay destinasi menggunakan
scp
atau alat lain.Cipta pangkalan data di ServBay destinasi:
bash# Jalankan di terminal ServBay destinasi # Sambung ke postgres lalai untuk mencipta pangkalan data baru psql -h /Applications/ServBay/tmp -U your_target_username -d postgres -c "CREATE DATABASE your_database;"
1
2
3your_target_username
: Nama pengguna destinasi.your_database
: Nama pangkalan data baru.
Import data ke pangkalan data ServBay destinasi:
bash# Jalankan di terminal ServBay destinasi 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
: Laluan fail sandaran di destinasi.
Migrasi Redis
Migrasi Redis biasanya melibatkan penyalinan terus fail dump.rdb
.
Ambil fail
dump.rdb
dari sumber:bash# Jalankan di terminal sumber # Pastikan servis Redis dihentikan, atau tunggu BGSAVE tamat cp /path/to/source/redis/dump.rdb ./dump.rdb
1
2
3Pindahkan fail
dump.rdb
ke direktori data Redis ServBay destinasi:bash# Jalankan di sumber atau pelayan perantaraan scp ./dump.rdb your_target_server:/Applications/ServBay/db/redis/dump.rdb
1
2your_target_server
: Alamat atau nama hos ServBay destinasi.- PENTING: Pastikan servis Redis destinasi telah dihentikan sebelum penyalinan ke
/Applications/ServBay/db/redis/
.
Mulakan semula servis Redis di ServBay destinasi: Redis akan automatik memuat naik fail
dump.rdb
baharu pada permulaan.
Perkara Penting
- Hentikan servis: SEBELUM menyalin atau memindahkan fail sebenar (terutamanya untuk direktori data MySQL/MariaDB/PostgreSQL), pastikan servis pangkalan data telah dihentikan melalui GUI atau alat baris perintah ServBay. Menyalin fail secara langsung dari pangkalan data yang sedang berjalan boleh menyebabkan kerosakan atau ketidakselarasan data. Redis juga mesti dihentikan sebelum pemulihan fail
dump.rdb
. - Isu kebenaran akses: Pastikan pengguna yang melakukan operasi salinan/import fail mempunyai hak akses yang mencukupi pada direktori dan fail yang berkaitan.
- Semak laluan fail: Semak sama ada laluan pemasangan ServBay (lalai adalah
/Applications/ServBay
) dan struktur subdirektori versi pangkalan data yang digunakan adalah betul. - Akaun dan kebenaran pengguna: Selepas migrasi, periksa semula akaun pengguna, kebenaran serta fail konfigurasi pangkalan data dan kemas kini jika perlu mengikut persekitaran baharu.
- Sandaran dalaman ServBay: ServBay turut menyediakan fungsi sandaran & pemulihan bersepadu melalui GUI, menyokong sandaran tetapan, fail laman web, pangkalan data dan sijil SSL. Ini boleh digunakan sebagai pelengkap atau alternatif kepada kaedah manual.
Rumusan
ServBay menggunakan struktur fail yang tersusun bagi memudahkan pengurusan fail pangkalan data oleh pembangun. Artikel ini memperincikan lokasi fail bagi MySQL, MariaDB, PostgreSQL dan Redis dalam ServBay, serta menyediakan panduan praktikal untuk operasi sandaran, pemulihan dan migrasi menggunakan alat baris perintah rasmi. Kemahiran ini membolehkan anda mengurus data pangkalan data persekitaran pembangunan tempatan dengan lebih baik, memastikan keselamatan data, dan memudahkan migrasi projek antara pelbagai persekitaran. Digabungkan dengan kemudahan lain seperti sistem sandaran terbina di dalam ServBay, produktiviti dan kecekapan pengurusan data anda pasti akan meningkat.