Cara Naik Taraf & Migrasi MySQL/MariaDB dalam ServBay
Pengenalan
Sepanjang pembangunan tempatan, anda mungkin perlu menukar versi lalai bagi pangkalan data MySQL atau MariaDB dalam persekitaran ServBay anda—sama ada untuk memenuhi keperluan projek atau memanfaatkan ciri serta kemas kini keselamatan terkini. Dokumen ini direka untuk memberi panduan langkah-demi-langkah yang jelas dan terperinci, membantu anda menjalankan penukaran ini dengan selamat, termasuk bahagian penting seperti sandaran dan pemulihan data.
Senario Penggunaan
- Naik taraf ke versi terbaru: Dapatkan ciri, penambahbaikan prestasi, dan pembaikan keselamatan terkini.
- Ujian keserasian projek: Sahkan prestasi aplikasi anda pada pelbagai versi pangkalan data.
- Penuhi keperluan projek khusus: Sesetengah projek hanya menyokong versi pangkalan data tertentu.
Prasyarat
- ServBay telah dipasang dan berjalan.
- Memiliki pengetahuan asas menggunakan terminal baris perintah.
- Mengetahui kata laluan pengguna
root
pangkalan data anda. - Ruang cakera yang mencukupi untuk pemasangan versi baharu dan simpanan sandaran pangkalan data.
Langkah-langkah Operasi
Contoh berikut menggunakan migrasi dari MariaDB 10.11 ke MariaDB 11.3. Untuk pertukaran versi MySQL, langkah adalah hampir sama.
1. Sandarkan Pangkalan Data Versi Lama
Sebelum melakukan sebarang pertukaran versi, sangat disarankan supaya anda menyandarkan kesemua data pangkalan data yang ada terlebih dahulu. Ini mampu mencegah kehilangan data dan menyediakan titik pemulihan jika masalah keserasian berlaku.
Menggunakan alat mysqldump
adalah kaedah standard untuk membuat sandaran pangkalan data. Buka aplikasi terminal anda dan jalankan arahan berikut:
bash
mysqldump -uroot -p --all-databases --opt > mariadb_backup.sql
1
-u root
: Menyambung ke pangkalan data menggunakan penggunaroot
.-p
: Akan meminta anda memasukkan kata laluan penggunaroot
.--all-databases
: Membuat sandaran semua pangkalan data.--opt
: Satu set pilihan standard yang merangkumi--add-drop-table
,--add-locks
,--create-command
,--disable-keys
,--extended-insert
,--lock-tables
,--quick
,--set-charset
dan lain-lain, untuk menghasilkan fail sandaran yang cekap serta mudah alih.> mariadb_backup.sql
: Mengalihkan output sandaran ke dalam failmariadb_backup.sql
di direktori kerja semasa terminal anda, biasanya direktori pengguna (~
).
Selepas arahan dijalankan, masukkan kata laluan pengguna root
MariaDB apabila diminta. Sila tunggu sehingga proses selesai — ia mungkin tidak menghasilkan banyak output sehingga arahan siap sepenuhnya. Saiz fail sandaran bergantung pada saiz pangkalan data anda. Pastikan fail mariadb_backup.sql
yang dihasilkan tidak kosong.
2. Pasang Versi Baharu yang Dikehendaki
Buka antara muka aplikasi ServBay. Navigasi ke tab Pakej (Packages). Di bawah kategori pangkalan data, cari MariaDB atau MySQL, pilih versi yang anda ingin tukar (contohnya MariaDB 11.3), kemudian klik butang pemasangan.
Tunggu sehingga muat turun dan pemasangan versi baharu selesai.
3. Nyahaktifkan Pangkalan Data Versi Lama
Setelah versi baharu selesai dipasang, kembali ke tab Pakej (Packages) di ServBay. Cari versi lama pangkalan data yang sedang dijalankan (contohnya MariaDB 10.11). Klik penunjuk status di sebelahnya (biasanya ikon bulat hijau) untuk menyahaktifkannya. Penunjuk status akan bertukar menjadi kelabu.
4. Aktifkan Pangkalan Data Versi Baharu
Selepas versi lama dinyahaktifkan, cari pangkalan data versi baharu yang baru dipasang (contohnya MariaDB 11.3). Klik penunjuk statusnya untuk mengaktifkan. Apabila penunjuk menjadi hijau, menandakan pangkalan data versi baharu berjaya dimulakan.
5. Tetapkan Versi Baharu Sebagai Lalai
Hanya mengaktifkan versi baharu dan menyahaktifkan versi lama tidak mencukupi untuk menjadikan sistem menggunakan versi baharu secara automatik. Anda perlu menetapkan versi baru sebagai lalai dalam tetapan ServBay.
Pergi ke panel Tetapan (Settings) aplikasi ServBay. Cari pilihan versi lalai untuk MySQL atau MariaDB dalam bahagian tetapan berkaitan pangkalan data. Pilih versi baharu yang baru anda aktifkan (contohnya MariaDB 11.3) dari menu lungsur.
Klik butang Apply (Gunakan) di bahagian bawah panel untuk menyimpan perubahan.
6. Sahkan Versi Lalai Berjaya Ditukar
Kembali ke panel Pakej (Packages) ServBay. Versi baharu (contohnya MariaDB 11.3) kini seharusnya ditandai jelas sebagai versi lalai semasa.
7. Sahkan Versi Lalai Melalui Terminal
Buka terminal dan jalankan arahan berikut untuk mengesahkan sistem kini menggunakan versi pangkalan data yang betul:
bash
mysql -V
1
Output harus menunjukkan maklumat versi baharu, sebagai contoh mysql Ver 11.3.2-MariaDB ...
.
8. Pulihkan Sandaran Pangkalan Data
Kini, anda boleh memulihkan data yang telah disandarkan tadi ke pangkalan data versi baharu. Di terminal, gunakan arahan:
bash
mysql -uroot -p < mariadb_backup.sql
1
-u root
: Sambung ke pangkalan data dengan penggunaroot
.-p
: Akan memerlukan kata laluan penggunaroot
.< mariadb_backup.sql
: Mengalirkan kandungan failmariadb_backup.sql
ke klienmysql
, sekaligus menjalankan perintah SQL di dalamnya untuk memulihkan data.
Setelah dijalankan, masukkan kata laluan untuk pengguna root
pangkalan data versi baharu (kebiasaannya sama dengan versi lama, kecuali telah diubah selepas pemasangan). Proses pemulihan mungkin mengambil masa bergantung kepada saiz fail sandaran.
Nota: Semasa pemulihan, terminal mungkin memaparkan beberapa amaran atau ralat, terutamanya jika terdapat perbezaan ketara antara versi atau fail sandaran mengandungi ciri khusus versi lama (seperti enjin storan, fungsi atau klausa DEFINER
). Untuk aplikasi pembangunan web biasa, amaran ini biasanya boleh diabaikan, tetapi untuk aplikasi kompleks atau persekitaran produksi, semak dan tangani amaran dengan teliti.
9. Sahkan Pemulihan Data Sempurna
Selepas proses pemulihan selesai, log masuk ke pangkalan data untuk menyemak sama ada data telah pulih sepenuhnya:
bash
mysql -uroot -p
1
Masukkan kata laluan untuk ke klien baris perintah MariaDB/MySQL. Gunakan arahan berikut untuk melihat senarai pangkalan data:
sql
SHOW DATABASES;
1
Anda boleh semak setiap pangkalan data dan jadual, serta lakukan beberapa kueri untuk memastikan data dipulihkan dengan lengkap dan aplikasi berfungsi seperti biasa.
Perkara Penting
- Keserasian Data: Walaupun MySQL/MariaDB berusaha mengekalkan keserasian, naik taraf major (contohnya 5.7 ke 8.0, atau MariaDB 10.x ke 11.x) mungkin melibatkan perubahan yang tidak serasi. Semak dokumentasi rasmi untuk maklumat keserasian antara versi.
- Fail konfigurasi: ServBay mengekalkan fail konfigurasi yang berasingan untuk setiap versi pangkalan data (cth.
my.cnf
ataumy.ini
). Jika anda pernah mengubah suai fail konfigurasi versi lama, perlu migrasi atau gabung perubahan secara manual ke fail versi baharu. Fail ini lazimnya terletak di direktori pemasangan ServBay (cth./Applications/ServBay/etc/mysql/versi/my.cnf
). - Prestasi: Versi baharu mungkin mempunyai tetapan lalai atau pengoptimuman dalaman berbeza. Uji prestasi aplikasi anda selepas penukaran dan ubah konfigurasi jika perlu.
- Port: Secara lalai, setiap versi pangkalan data pada ServBay menggunakan port piawai (contohnya 3306). Pertukaran versi lalai tidak akan menukar port. Jika anda ingin menjalankan beberapa versi secara serentak pada port berbeza, perlu ubah fail konfigurasi secara manual.
Soalan Lazim (FAQ)
- S: Mengapa versi baharu pangkalan data tidak boleh dimulakan selepas pemasangan?
- J: Semak penunjuk status dan fail log pada panel pakej ServBay. Fail log biasanya terletak di
var/log/mysql
atauvar/log/mariadb
dalam direktori pemasangan ServBay. Rujuk log untuk mengenal pasti isu seperti ralat konfigurasi, konflik port atau isu keizinan fail.
- J: Semak penunjuk status dan fail log pada panel pakej ServBay. Fail log biasanya terletak di
- S: Apa harus dilakukan jika menghadapi ralat semasa pemulihan pangkalan data?
- J: Teliti mesej ralat dengan teliti. Masalah lazim termasuk isu set aksara (menambah
--default-character-set=utf8mb4
pada arahanmysqldump
boleh membantu), isu keizinan berkaitanDEFINER
(boleh ganti klausaDEFINER
secara massa dalam fail sandaran), atau fail sandaran rosak. Untuk pangkalan data besar, pertimbangkan menggunakan alat sepertimydumper
/myloader
untuk sandaran dan pemulihan secara selari.
- J: Teliti mesej ralat dengan teliti. Masalah lazim termasuk isu set aksara (menambah
- S: Bolehkah saya menukar versi tanpa membuat sandaran dan pemulihan data?
- J: Tidak digalakkan, terutama ketika naik taraf versi utama. Tukar terus boleh menyebabkan ketidakserasian struktur data, kerosakan, atau kehilangan data. Cara paling selamat ialah sentiasa membuat sandaran dan melakukan pemulihan.
- S: Selepas menukar versi, mengapa laman web/aplikasi saya gagal sambung ke pangkalan data?
- J: Pastikan pangkalan data versi baharu telah berjaya dimulakan dan ditetapkan sebagai lalai dalam ServBay. Semak juga konfigurasi sambungan pada aplikasi anda: nama hos (biasanya
127.0.0.1
ataulocalhost
), port (lalai 3306), nama pengguna dan kata laluan.
- J: Pastikan pangkalan data versi baharu telah berjaya dimulakan dan ditetapkan sebagai lalai dalam ServBay. Semak juga konfigurasi sambungan pada aplikasi anda: nama hos (biasanya
Rumusan
Dengan mengikuti langkah-langkah dalam dokumen ini, anda dapat menukar versi lalai MySQL atau MariaDB dalam persekitaran ServBay dengan selamat dan lancar. Proses utama melibatkan sandaran data, pemasangan serta pengaktifan versi baharu, penetapan versi lalai dalam ServBay, dan akhirnya pemulihan data. Sentiasa utamakan langkah sandaran data, dan pastikan data serta fungsi aplikasi disahkan selepas penukaran versi.