ServBay: Mengimport Data MariaDB Sedia Ada ke Persekitaran Tempatan
ServBay ialah persekitaran pembangunan Web tempatan yang hebat dan menyertakan pakej perisian MariaDB. Pemindahan atau import pangkalan data MariaDB anda yang sedia ada (seperti daripada persekitaran tempatan lain, pelayan jauh, atau fail sandaran) ke MariaDB yang disertakan dengan ServBay adalah satu operasi yang biasa. Artikel ini akan membimbing anda secara terperinci melalui keseluruhan proses untuk memastikan data anda dipindahkan dengan lancar ke persekitaran pembangunan tempatan ServBay anda.
Ringkasan
Panduan ini meliputi penggunaan alat baris perintah MariaDB/MySQL standard (mysqldump
dan mysql
) untuk mengeksport data daripada MariaDB sumber, menyediakan pangkalan data tujuan dalam persekitaran ServBay, dan akhirnya mengimport data ke dalam MariaDB ServBay.
Prasyarat
Sebelum memulakan proses import, pastikan prasyarat berikut dipenuhi:
- ServBay telah dipasang dan sedang dijalankan di macOS: Pastikan aplikasi ServBay anda telah berjaya dipasang dan berjalan lancar.
- Pakej MariaDB dalam ServBay telah diaktifkan dan sedang berjalan: Dalam antara muka aplikasi ServBay, semak bahagian “Package” dan pastikan MariaDB diaktifkan serta berstatus aktif (hijau). Jika belum, sila mulakan MariaDB.
- Anda mempunyai akses ke pangkalan data MariaDB sumber: Ketahui alamat hos MariaDB sumber, port (jika bukan lalai), nama pengguna dan kata laluan, serta nama pangkalan data yang hendak dieksport.
- Anda mempunyai akses ke pangkalan data MariaDB tujuan di ServBay: Selalunya menggunakan pengguna
root
dan kata laluan MariaDB ServBay. Pengguna lalai MariaDB di ServBay ialahroot
; penyediaan awal mungkin tiada kata laluan atau anda telah tetapkan sewaktu pemasangan/config. Maklumat ini boleh didapati dalam bahagian pengurusan pangkalan data di antara muka aplikasi ServBay atau anda boleh menetapkan semula kata laluan. - Terdapat ruang cakera yang mencukupi: Pastikan persekitaran ServBay anda mempunyai ruang mencukupi untuk menyimpan data yang akan diimport.
Langkah-langkah Operasi
Langkah 1: Mengeksport Data daripada MariaDB Sumber
Mula-mula, gunakan alat mysqldump
untuk mengeksport data pangkalan data MariaDB sumber kepada fail SQL.
Buka Terminal: Lancarkan aplikasi Terminal pada macOS anda.
Laksanakan arahan eksport: Gunakan arahan
mysqldump
untuk berhubung ke MariaDB sumber anda dan eksport pangkalan data. Sebagai contoh, jika nama pangkalan data sumber ialahmydatabase_source
, dan anda mahu mengeksport data ke fail bernamamydatabase.sql
:bashmysqldump -u your_source_username -p -h your_source_host -P your_source_port mydatabase_source > mydatabase.sql
1your_source_username
: Gantikan dengan nama pengguna MariaDB sumber anda.-p
: Anda akan diminta memasukkan kata laluan selepas jalankan arahan ini.-h your_source_host
: Jika MariaDB sumber bukan di mesin tempatan (cth: pelayan jauh), nyatakan alamat hos di sini. Jika tempatan dengan tetapan lalai, anda boleh abaikan parameter ini.-P your_source_port
: Jika MariaDB sumber TIDAK menggunakan port lalai 3306, nyatakan port di sini. Jika tidak, parameter ini boleh diabaikan.mydatabase_source
: Gantikan dengan nama pangkalan data sumber yang anda mahu eksport.> mydatabase.sql
: Mengeksport hasil ke dalam fail bernamamydatabase.sql
di direktori Terminal anda sekarang.
Untuk memudahkan akses fail SQL ini dalam persekitaran ServBay, disarankan menyimpannya ke folder sementara dalam direktori root laman web ServBay, contohnya
/Applications/ServBay/www/temp/mydatabase.sql
. Anda boleh eksport ke direktori semasa dahulu, kemudian gunakan arahanmv
untuk memindahkan fail tersebut:bashmysqldump -u your_source_username -p mydatabase_source > mydatabase.sql mv mydatabase.sql /Applications/ServBay/www/temp/
1
2Nota: Pastikan direktori
/Applications/ServBay/www/temp/
telah wujud.
Langkah 2: Sediakan Pangkalan Data Tujuan (Di ServBay)
Sebelum mengimport data, kita perlu cipta pangkalan data dalam MariaDB ServBay.
Sambung ke MariaDB dalam ServBay: Buka Terminal dan gunakan arahan
mysql
untuk berhubung dengan MariaDB dalam ServBay. ServBay biasanya membenarkan sambungan melalui Unix socket atau localhost.bashmysql -u root -p
1Anda akan diminta masukkan kata laluan pengguna
root
MariaDB ServBay. Selepas berjaya, anda terus ke klien arahan MariaDB.Petua: Jika anda tidak pasti tentang kata laluan
root
atau hadapi masalah sambungan, semak tetapan atau log MariaDB dalam UI ServBay.Cipta pangkalan data tujuan: Dalam klien MariaDB, cipta pangkalan data baharu untuk menerima data yang diimport. Disyorkan gunakan nama sama seperti sumber (cth.
mydatabase
), tetapi ianya tidaklah wajib.sqlCREATE DATABASE mydatabase CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
1mydatabase
: Gantikan dengan nama pangkalan data yang anda ingin cipta di ServBay.CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
: Disarankan tetapkan pengekodan dan collate untuk elak masalah aksara selepas import.utf8mb4
adalah piawai untuk menyokong pelbagai bahasa dan aksara khas. Sila sesuaikan mengikut tetapan MariaDB sumber anda supaya konsisten.
Keluar dari klien MariaDB: Setelah mencipta pangkalan data, taip
exit;
dan tekan Enter.sqlexit;
1
Langkah 3: Import Data ke MariaDB ServBay
Sekarang, kita akan import fail SQL yang dieksport ke MariaDB dalam ServBay yang baru anda cipta.
Buka Terminal: Pastikan anda masih di Terminal.
Jalankan arahan import: Gunakan arahan
mysql
untuk import fail SQL ke dalam pangkalan data tujuan.bashmysql -u root -p mydatabase < /Applications/ServBay/www/temp/mydatabase.sql
1-u root -p
: Sambung sebagai penggunaroot
MariaDB ServBay, anda akan diminta kata laluan.mydatabase
: Nama pangkalan data yang anda cipta di Langkah 2.< /Applications/ServBay/www/temp/mydatabase.sql
: Fail SQL hasil eksport. Pastikan path fail ini benar.
Proses import mungkin mengambil sedikit masa bergantung pada saiz fail SQL anda. Tiada output akan dipaparkan semasa proses berjalan kecuali terdapat ralat.
Langkah 4: Sahkan Kejayaan Import Data
Selepas import selesai, sangat disarankan untuk mengesahkan data telah berjaya diimport ke MariaDB ServBay anda.
Sambung ke MariaDB ServBay:
bashmysql -u root -p
1Pilih pangkalan data yang diimport:
sqlUSE mydatabase;
1mydatabase
: Gantikan dengan nama pangkalan data yang anda import.
Semak data: Jalankan beberapa arahan untuk periksa struktur dan kandungan pangkalan data.
sqlSHOW TABLES; -- Paparkan semua jadual SELECT COUNT(*) FROM your_table_name; -- Bilangan rekod dalam satu jadual SELECT * FROM your_table_name LIMIT 10; -- Paparkan 10 rekod terawal dari satu jadual
1
2
3your_table_name
: Gantikan dengan nama jadual sebenar dalam pangkalan data anda.
Bandingkan data, jumlah rekod atau semak data utama untuk memastikan proses import berjaya.
Menangani Isu Keserasian yang Mungkin Berlaku
Walaupun biasanya MariaDB antara versi adalah serasi, sesetengah masalah boleh timbul sewaktu migrasi. Antara isu lazim serta cara mengatasinya:
1. Ketidakserasian Sintaks SQL Tertentu
Jika MariaDB sumber anda versi lama atau terdapat pernyataan SQL khusus versi tertentu, fail SQL hasil eksport mungkin gagal dijalankan pada MariaDB ServBay versi baru.
- Penyelesaian: Sunting fail
mydatabase.sql
secara manual—cari dan baik pulih pernyataan SQL yang menjadi masalah. Rujuk ralat terminal dan rujukan Dokumentasi MariaDB untuk pelarasan sintaks.
2. Engine Penyimpanan Tidak Serasi / Usang
Engine storan lama seperti MyISAM mungkin tidak lagi lalai atau ada perbezaan konfigurasi di MariaDB versi baru.
Penyelesaian: Sebelum import, boleh sunting SQL dan tukar semua definisi
ENGINE=MyISAM
(atau lain-lain lama) kepada engine yang disokong serta disyorkan oleh ServBay sepertiENGINE=InnoDB
. InnoDB ialah engine bertransaksi dan biasanya pilihan terbaik.sql-- Contoh kod dalam SQL dan versi telah dikemaskini: CREATE TABLE `your_table_name` ( -- ... definisi kolum ... ) ENGINE=MyISAM DEFAULT CHARSET=utf8; -- Tukar kepada: CREATE TABLE `your_table_name` ( -- ... definisi kolum ... ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1
2
3
4
5
6
7
8
9
3. Kehilangan Pengguna & Kebenaran (Privileges)
Secara lalai, mysqldump
tidak mengeksport maklumat akaun pengguna atau privileges mereka. Selepas import, pengguna yang wujud di MariaDB sumber tiada dalam MariaDB ServBay secara automatik.
Penyelesaian: Selepas import, cipta semula pengguna dengan privileges yang diperlukan secara manual di MariaDB ServBay. Sambung sebagai
root
, kemudian laksanakan perintahCREATE USER
danGRANT
.sql-- Cipta pengguna baharu (cth: 'servbay_user' hanya boleh sambung dari localhost, kata laluan 'your_password') CREATE USER 'servbay_user'@'localhost' IDENTIFIED BY 'your_password'; -- Beri hak akses penuh ke pangkalan data tertentu GRANT ALL PRIVILEGES ON mydatabase.* TO 'servbay_user'@'localhost'; -- Jika memang perlu akses dari mana-mana host (tidak digalakkan untuk pengeluaran) -- CREATE USER 'servbay_user'@'%' IDENTIFIED BY 'your_password'; -- GRANT ALL PRIVILEGES ON mydatabase.* TO 'servbay_user'@'%'; -- Segarkan privileges FLUSH PRIVILEGES;
1
2
3
4
5
6
7
8
9
10
11
12- Gantikan
servbay_user
danyour_password
dengan nama pengguna serta kata laluan yang anda mahu. mydatabase
: Gantikan dengan nama pangkalan data yang diimport.- Edit
@'localhost'
atau@'%'
mengikut keperluan anda.
- Gantikan
4. Ketidakselarasan Set Aksara & Collation
Jika set aksara/collation pangkalan data sumber vs tujuan tidak sama, data mengandungi aksara bukan ASCII mungkin rosak atau keluar tanda soal.
- Penyelesaian: Sewaktu cipta pangkalan data (Langkah 2), tetapkan terus set aksara dan collation yang sama seperti sumber (atau sekurang-kurangnya
utf8mb4
). Jika sudah import dan timbul isu, anda boleh padam pangkalan data, semak kodifikasi fail SQL dan tambahSET NAMES 'utf8mb4';
di permulaan fail, kemudian cipta semula pangkalan data dan import semula.
Perkara Khas Berkaitan ServBay
- Kelayakan MariaDB: Ingat, kata laluan
root
MariaDB boleh disemak atau ditetapkan semula menerusi UI ServBay jika perlu. - Log Fail: Jika hadapi ralat sewaktu import, semak fail log ralat MariaDB, biasanya di folder
logs
dalam direktori pemasangan ServBay, untuk butiran lanjut. - Prestasi: Import pangkalan data besar boleh mengambil masa dan penggunaan sumber sistem oleh MariaDB ServBay mungkin sementara meningkat.
Soalan Lazim (FAQ)
S: Bagaimana jika import terganggu di tengah jalan?
J: Biasanya, pangkalan data dalam keadaan separa. Disyorkan padam pangkalan data (DROP DATABASE mydatabase;
), cipta semula (CREATE DATABASE mydatabase;
), kemudian ulang proses import.
S: Fail SQL yang dieksport terlalu besar, ada kaedah import yang lebih baik?
J: Dengan fail SQL besar, penggunaan <
kadang-kala tidak cekap atau makan RAM. Anda boleh gunakan arahan source
dalam klien MariaDB:
- Sambung ke MariaDB ServBay:
mysql -u root -p
- Pilih pangkalan data:
USE mydatabase;
- Jalankan:
SOURCE /path/to/your/large_database.sql;
Kaedah ini lebih stabil untuk fail besar, tapi mesti dijalankan dalam klien MariaDB.
S: Bolehkah saya mengimport data melalui UI ServBay?
J: UI ServBay fokus kepada pengurusan pakej, konfigurasi laman web, dan log. Import/eksport data pangkalan data seeloknya dijalankan melalui alat pengurusan DB (seperti baris arahan mysql
/mysqldump
atau alat grafik seperti phpMyAdmin/Adminer). ServBay membawakan Adminer secara terbina, yang boleh diakses dari UI ServBay untuk import pangkalan data (sesuai untuk DB kecil atau pengguna tidak mahir baris arahan).
Kesimpulan
Mengimport MariaDB sedia ada ke persekitaran MariaDB dalam ServBay ialah satu proses migrasi data piawai. Dengan mengeksport data melalui mysqldump
dan mengimportnya di ServBay menggunakan mysql
, anda boleh menyelesaikan tugas ini dengan mudah. Sentiasa semak prasyarat, tangani isu keserasian (seperti pengekodan aksara, engine storan, hak akses pengguna), dan sahkan hasil import anda. ServBay menyediakan persekitaran tempatan yang stabil untuk menjalankan MariaDB anda dan menyokong aliran kerja pembangunan Web anda.