Cara Mengimport Data daripada Pangkalan Data MySQL Sedia Ada ke MariaDB ServBay
ServBay ialah persekitaran pembangunan web tempatan yang hebat, lengkap dengan MariaDB sebagai sistem pengurusan pangkalan data (DBMS) utamanya. MariaDB sangat serasi dengan MySQL. Ini menjadikan proses memindahkan data daripada MySQL ke MariaDB ServBay satu tugas yang relatif mudah. Artikel ini akan menerangkan langkah demi langkah bagaimana mengeksport pangkalan data MySQL anda dan mengimportnya ke dalam MariaDB dalam persekitaran ServBay.
Pengenalan
Panduan ini direka untuk membantu pembangun memindahkan pangkalan data MySQL projek atau data sedia ada mereka ke MariaDB dalam ServBay. Ini membolehkan anda terus menggunakan data tersebut dalam persekitaran pembangunan tempatan dan melakukan ujian aplikasi dengan kecekapan maksimum menggunakan kelebihan yang ditawarkan oleh ServBay.
Senario Aplikasi
- Memindahkan pangkalan data MySQL dari pelayan produksi atau mesin tempatan lain ke MariaDB dalam ServBay untuk pembangunan tempatan.
- Menggabungkan atau membuat salinan sandaran (backup) data MySQL ke dalam MariaDB ServBay.
- Menguji aplikasi dengan data MySQL sedia ada dalam persekitaran ServBay untuk memastikan keserasian.
Prasyarat
Sebelum memulakan proses import data, pastikan anda telah memenuhi syarat berikut:
- MySQL telah dipasang dan berjalan: Anda mesti mempunyai instans MySQL sedia ada yang mengandungi data untuk dieksport. Pastikan anda mengetahui maklumat sambungannya (hos, port, nama pengguna, katalaluan).
- ServBay telah dipasang dan berjalan: ServBay dilengkapi MariaDB secara terbina dalam. Pastikan aplikasi ServBay anda aktif dan perkhidmatan MariaDB telah dimulakan. Status MariaDB boleh dilihat dalam senarai "Pakej" pada antara muka utama ServBay.
- Maklumat sambungan MariaDB dalam ServBay: Ketahui butiran sambungan MariaDB ServBay. Secara lalai MariaDB berjalan pada
127.0.0.1
(ataulocalhost
) port3306
, dengan pengguna lalai biasanya ialahroot
. Maklumat penuh dan katalaluan penggunaroot
boleh didapati di tab “Pangkalan Data” dalam aplikasi ServBay. Adalah disarankan untuk merekod atau mengubah katalaluan ini pada penggunaan pertama. - Kebenaran pengguna pangkalan data: Pastikan anda mempunyai hak untuk mengeksport dari pangkalan data MySQL sumber serta hak untuk mengimport dan mencipta pangkalan data dalam MariaDB ServBay (biasanya pengguna
root
MariaDB ServBay mempunyai hak ini). - Akses ke Terminal: Anda perlu menggunakan terminal perintah untuk melaksanakan proses eksport dan import. Arahan yang disediakan sesuai untuk terminal macOS atau Linux.
Langkah 1: Eksport Data dari MySQL Sumber
Mula-mula, gunakan alat mysqldump
untuk mengeksport pangkalan data MySQL anda kepada fail SQL.
- Buka Terminal: Lancarkan aplikasi Terminal di macOS anda.
- Sambung ke pangkalan data MySQL sumber: Masukkan arahan berikut di terminal untuk sambungan ke MySQL. Anda akan diminta untuk memasukkan katalaluan.bash
mysql -u your_mysql_username -p -h your_mysql_host -P your_mysql_port
1- Gantikan
your_mysql_username
dengan nama pengguna MySQL anda. - Gantikan
your_mysql_host
dengan alamat pelayan MySQL (contohnyalocalhost
atau alamat IP). - Gantikan
your_mysql_port
dengan port MySQL anda (jika bukan 3306 secara lalai). - Jika menjalankan perintah pada mesin yang sama dengan MySQL dan port lalai, boleh ringkaskan kepada
mysql -u your_mysql_username -p
.
- Gantikan
- Eksport pangkalan data: Gunakan arahan
mysqldump
untuk mengeksport pangkalan data tertentu. Andaikan nama pangkalan data anda ialahmydatabase
:bashmysqldump -u your_mysql_username -p mydatabase > mydatabase.sql
1- Gantikan
your_mysql_username
dengan nama pengguna MySQL anda. - Gantikan
mydatabase
dengan nama pangkalan data yang ingin dieksport. - Fail SQL yang dijana akan berada dalam direktori semasa terminal (atau nyatakan laluan penuh, seperti
/path/to/your/directory/mydatabase.sql
). - Untuk eksport semua pangkalan data, gunakan pilihan
--all-databases
(gunakan dengan berhati-hati). - Untuk eksport jadual tertentu sahaja, tambahkan nama-nama jadual selepas nama pangkalan data.
- Gantikan
Langkah 2: Sediakan Pangkalan Data MariaDB dalam ServBay
Sebelum import, adalah disyorkan untuk mencipta pangkalan data baharu dalam MariaDB untuk menerima data MySQL yang dieksport tadi.
- Buka Terminal: Lancarkan Terminal jika belum dibuka.
- Sambung ke MariaDB ServBay: Gunakan maklumat sambungan MariaDB ServBay, secara lalai menggunakan pengguna
root
serta katalaluan yang dipaparkan dalam aplikasi ServBay.bashmysql -u root -p -h 127.0.0.1 -P 3306
1- Anda akan diminta untuk memasukkan katalaluan pengguna
root
MariaDB dalam ServBay. - Jika anda telah menukar port atau hos MariaDB, laraskan nilai
-h
dan-P
dengan sewajarnya.
- Anda akan diminta untuk memasukkan katalaluan pengguna
- Cipta pangkalan data baru: Dalam antara muka MariaDB, jalankan arahan SQL berikut (disarankan guna nama sama dengan pangkalan data asal MySQL, contoh
mydatabase
):sqlCREATE DATABASE mydatabase;
1- Gantikan
mydatabase
dengan nama pangkalan data yang anda kehendaki.
- Gantikan
Langkah 3: Import Data ke MariaDB ServBay
Kini anda boleh mengimport fail SQL yang dijana tadi ke pangkalan data MariaDB dalam ServBay.
- Buka Terminal: Pastikan anda berada dalam direktori yang mengandungi
mydatabase.sql
atau gunakan laluan penuh. - Import fail SQL: Gunakan arahan berikut untuk import SQL ke MariaDB ServBay.bash
mysql -u root -p -h 127.0.0.1 -P 3306 mydatabase < mydatabase.sql
1- Masukkan katalaluan pengguna
root
MariaDB jika diminta. - Gantikan
mydatabase
dengan nama pangkalan data yang telah anda cipta pada langkah sebelumnya. mydatabase.sql
ialah nama fail SQL yang dijana semasa eksport (atau nyatakan laluan penuh jika lokasi berbeza).
- Masukkan katalaluan pengguna
Proses import mungkin mengambil sedikit masa, bergantung pada saiz fail SQL dan kerumitan pangkalan data anda. Terminal mungkin tidak menunjukkan banyak output sehingga proses selesai.
Langkah 4: Sahkan Import Data
Selepas import selesai, sangat disarankan untuk menyemak dan memastikan data telah diimport dengan betul ke dalam MariaDB ServBay anda.
- Sambung ke MariaDB ServBay:bash
mysql -u root -p -h 127.0.0.1 -P 3306
1- Masukkan katalaluan pengguna
root
MariaDB.
- Masukkan katalaluan pengguna
- Pilih pangkalan data:sql
USE mydatabase;
1- Gantikan
mydatabase
dengan nama pangkalan data yang diimport.
- Gantikan
- Semak data: Jalankan arahan berikut untuk memastikan jadual dan data ada serta betul:sql
SHOW TABLES; -- Senarai semua jadual SELECT COUNT(*) FROM your_table_name; -- Bilangan baris bagi sesuatu jadual SELECT * FROM your_table_name LIMIT 10; -- Papar 10 baris pertama suatu jadual
1
2
3- Gantikan
your_table_name
dengan nama jadual sebenar dalam pangkalan data anda.
- Gantikan
Jika keputusan menyamai jangkaan, ini bermakna data telah berjaya diimport.
Menangani Kemungkinan Isu Keserasian
Walaupun MariaDB sangat serasi dengan MySQL, kadangkala anda mungkin menghadapi beberapa isu keserasian tertentu. Berikut ialah masalah umum dan penyelesaiannya:
1. Ketidakserasian sintaks SQL tertentu
Dalam kes yang jarang berlaku, sesetengah sintaks atau fungsi khusus MySQL tidak disokong atau beroperasi berbeza dalam MariaDB.
- Cara atasi: Jika berlaku ralat semasa import, edit fail
mydatabase.sql
dan sesuaikan perintah SQL yang bermasalah agar selari dengan standard MariaDB. Rujuk dokumentasi rasmi MariaDB untuk alternatif yang sesuai.
2. Isu dengan Enjin Storan
MySQL dan MariaDB menyokong pelbagai enjin storan (contohnya InnoDB, MyISAM, Aria, XtraDB, dsb.). Kebanyakannya adalah universal, tetapi sebahagian enjin khusus MySQL (seperti Archive, Blackhole) mungkin tidak tersedia dalam MariaDB, dan sebaliknya. Enjin paling lazim, InnoDB
, disokong sepenuhnya oleh kedua-dua sistem.
- Cara atasi: Jika pangkalan data anda menggunakan enjin yang tidak disokong, anda mungkin mendapat amaran atau ralat semasa import. Anda boleh menukar teks enjin dalam fail
.sql
ke enjin yang serasi, contohnyaENGINE=InnoDB
. Anda juga boleh menukar enjin jadual selepas import menggunakan arahanALTER TABLE table_name ENGINE = InnoDB;
dalam MariaDB.
3. Pengguna & Kebenaran (Permissions)
Biasanya, fail SQL eksport dari mysqldump
tidak menyertakan pengguna atau maklumat kebenaran. Jika ada, format penyimpanan pengguna dan hak akses antara MySQL dan MariaDB mungkin berbeza, menyebabkan isu apabila cuba mengimport terus ke MariaDB. Biasanya, MariaDB dalam ServBay menyediakan satu pengguna root
, dan anda disarankan menggunakan pengguna ini untuk pentadbiran dan mencipta pengguna baharu mengikut keperluan aplikasi anda.
- Cara atasi: Selepas pengimportan data, anda perlu cipta semula pengguna aplikasi dalam MariaDB ServBay dan tetapkan hak akses dengan arahan SQL
CREATE USER
danGRANT
. Contoh:sql-- Cipta pengguna baharu (ganti 'your_username', 'localhost', 'your_password' seperti dikehendaki) CREATE USER 'your_username'@'localhost' IDENTIFIED BY 'your_password'; -- Beri semua hak istimewa ke atas pangkalan data tertentu GRANT ALL PRIVILEGES ON mydatabase.* TO 'your_username'@'localhost'; -- Segarkan semula hak akses FLUSH PRIVILEGES;
1
2
3
4
5
6
7
8- Gantikan
your_username
,localhost
(jika aplikasi anda mengakses dari lokasi lain, boleh guna%
),your_password
danmydatabase
mengikut keperluan sebenar anda. - Jika anda terlupa katalaluan pengguna
root
MariaDB dalam ServBay, aplikasi ServBay menyediakan fungsi menetapkan semula katalaluanroot
(termasuk MariaDB dan PostgreSQL). Rujuk aplikasi atau dokumentasi ServBay untuk panduan lanjut.
- Gantikan
Rumusan
Mengimport data daripada pangkalan data MySQL ke MariaDB dalam ServBay ialah langkah penting untuk melancarkan aliran kerja pembangunan anda menggunakan ServBay. Untuk melakukannya, eksport data menggunakan mysqldump
, cipta pangkalan data baharu dalam MariaDB ServBay, import fail SQL menggunakan arahan mysql
dan akhirnya sahkan hasil import. Dengan mengikuti langkah terperinci ini serta mengetahui cara menangani potensi isu keserasian, anda boleh melengkapkan proses migrasi pangkalan data dengan lancar — dan meneruskan pembangunan web anda di ServBay dengan efisyen dan berkesan.