Panduan Penyelesaian Masalah Pakej ServBay MariaDB/MySQL
Pengenalan
MariaDB dan MySQL ialah sistem pengurusan pangkalan data hubungan sumber terbuka terkemuka yang banyak digunakan dalam pelbagai aplikasi web dan senario perniagaan. ServBay mengintegrasikan pelbagai versi pakej MariaDB/MySQL dalam persekitaran macOS dan Windows untuk menyediakan persekitaran pangkalan data tempatan yang mudah dan efisien kepada pembangun. Walaupun terkenal dengan kestabilannya, anda masih mungkin menghadapi isu seperti kegagalan permulaan, masalah sambungan, atau penurunan prestasi semasa pembangunan dan operasi.
Panduan ini bertujuan membantu pengguna ServBay mendiagnos dan menyelesaikan masalah biasa bagi pakej MariaDB/MySQL. Kami akan membincangkan isu popular, langkah diagnosis dan penyelesaian terperinci, serta laluan dan arahan khusus untuk persekitaran ServBay.
Makluman Penting:
- Pastikan anda membuat sandaran pangkalan data sebelum melakukan sebarang operasi yang mungkin mengubah data atau konfigurasi! ServBay menyediakan fungsi sandaran terbina, dan anda amat digalakkan untuk menggunakannya secara berkala.
- Contoh arahan dan laluan di dalam dokumen ini menggunakan nombor versi khusus (seperti
11.3atau11.5). Sila ganti dengan versi MariaDB/MySQL sebenar yang anda gunakan di ServBay. Anda boleh semak versi yang telah dipasang dan diaktifkan dalam antara muka aplikasi ServBay. - Dalam arahan, contoh seperti
<username>,<database>,<your_backup.sql>ialah penanda; sila ganti dengan nama pengguna, nama pangkalan data, nama fail sandaran sebenar anda. - Panduan ini menyokong sistem operasi macOS dan Windows, dengan contoh laluan dan arahan diberikan untuk kedua-duanya.
Langkah Diagnostik Awal Umum
Sebelum melakukan pemeriksaan mendalam, disarankan untuk melakukan pemeriksaan asas berikut:
Semak status pakej ServBay: Buka antara muka aplikasi ServBay dan pastikan versi MariaDB/MySQL yang ingin anda gunakan telah diaktifkan dan tertera sebagai “Running”. Anda juga boleh semak melalui terminal:
bashservbayctl status mariadb <version> # Contoh semak status MariaDB 11.3: servbayctl status mariadb 11.31
2
3Semak log aplikasi ServBay: Kadang kala, ServBay akan merekodkan ralat semasa cuba memulakan atau mengurus pakej. Anda boleh lihat ini pada bahagian log dalam aplikasi ServBay atau semak fail log utama ServBay.
Semak log ralat MariaDB/MySQL: Ini adalah langkah terpenting untuk mendiagnos kegagalan permulaan atau ralat semasa sistem pangkalan data berjalan. Lokasi log lazim:
macOS:
bash/Applications/ServBay/logs/mariadb/<version>/<version>.err # Contoh papar 50 baris terkini log ralat MariaDB 11.3: tail -n 50 /Applications/ServBay/logs/mariadb/11.3/11.3.err1
2
3Windows:
cmdC:\ServBay\logs\mariadb\<version>\<version>.err # Contoh papar 50 baris terkini log ralat MariaDB 11.3: powershell "Get-Content -Path 'C:\ServBay\logs\mariadb\11.3\11.3.err' -Tail 50"1
2
3Baca dengan teliti mesej ralat pada penghujung log untuk mengenalpasti punca masalah.
Isu Biasa & Penyelesaiannya
1. Ralat Sambungan: SQLSTATE[HY000] [2002] No such file or directory
Ralat ini selalunya menandakan klien gagal menyambung ke MariaDB/MySQL melalui fail Unix socket. Di macOS, socket ialah cara komunikasi antara proses tempatan yang lebih efisien berbanding sambungan TCP/IP. Jika aplikasi atau alat baris arahan cuba menggunakan socket tetapi laluan socket tidak dijumpai, ralat ini akan muncul.
Punca & Penyelesaian:
- Pakej MariaDB/MySQL tidak berjalan:
- Semak melalui antara muka ServBay atau gunakan
servbayctl status mariadb <version>. - Untuk memulakan:
servbayctl start mariadb <version>, kemudian semak log ralat (.err) jika gagal.
- Semak melalui antara muka ServBay atau gunakan
- Laluan fail socket salah (hanya macOS/Linux):
- Laluan socket yang digunakan oleh klien tidak sama seperti yang ditetapkan dalam konfigurasi server (
my.cnf). - macOS: Semak parameter
socketdalam fail konfigurasi MariaDB/MySQL (/Applications/ServBay/etc/mariadb/<version>/my.cnf). - Windows: Tidak guna Unix socket; gunakan named pipe atau sambungan TCP/IP.
- macOS: Pastikan aplikasi atau klien anda menetapkan laluan socket dengan betul, atau gunakan laluan lalai ServBay. Biasanya terletak di
/Applications/ServBay/tmp/atau/tmp/, bergantung kepada versi dan konfigurasi. Contohnya,/Applications/ServBay/tmp/mysql.sockatau/tmp/mysql.sock.
- Laluan socket yang digunakan oleh klien tidak sama seperti yang ditetapkan dalam konfigurasi server (
- Isu tetapan lalai ServBay:
- Pergi ke “Settings” -> “Default SQL Server” dan pastikan versi MariaDB/MySQL yang betul telah dipilih. Sesetengah alat klien (seperti
mysqltanpa tetapan-Satau-h) akan cuba menyambung ke socket versi lalai.
- Pergi ke “Settings” -> “Default SQL Server” dan pastikan versi MariaDB/MySQL yang betul telah dipilih. Sesetengah alat klien (seperti
- Isu kebenaran:
- macOS: Pengguna proses MariaDB/MySQL tiada kebenaran menulis/akses ke direktori socket, atau pengguna klien tiada kebenaran membaca fail socket. ServBay biasanya atur kebenaran ini, tetapi jika anda ubah manual, masalah mungkin berlaku.
- Windows: Pastikan akaun pengguna yang menjalankan ServBay ada hak mencipta named pipe atau dengar pada port yang ditetapkan.
Alternatif (paksa guna sambungan rangkaian):
- Cuba sambung menggunakan IP
127.0.0.1bukannyalocalhost. Ini akan paksa sambungan TCP/IP bukan Unix socket. Jika berjaya, masalah memfokus kepada socket.bashmysql -u <username> -p -h 127.0.0.1 -P 33061
2. Ralat Sambungan: berkaitan sambungan rangkaian (seperti Connection refused, Can't connect to MySQL server)
Ralat ini biasanya menandakan klien gagal berhubung ke MariaDB/MySQL melalui jaringan TCP/IP.
Punca & Penyelesaian:
Pakej tidak berjalan: (rujuk di atas)
Port telah digunakan:
- Pastikan port yang digunakan MariaDB/MySQL (default: 3306) bebas daripada penggunaan aplikasi lain.
macOS:
bashlsof -i :3306 # atau netstat -anv | grep LISTEN | grep 33061
2
3Windows:
cmdnetstat -an | findstr :3306 # atau PowerShell Get-NetTCPConnection -LocalPort 33061
2
3Jika port digunakan, matikan proses tersebut atau ubah tetapan
portdalammy.cnfdan mulakan semula pakej.- macOS:
/Applications/ServBay/etc/mariadb/<version>/my.cnf - Windows:
C:\ServBay\etc\mariadb\<version>\my.cnf
Firewall menghalang sambungan:
macOS:
- Semak System Settings -> Network -> Firewall.
- Untuk benarkan proses
mysqldmelalui firewall:bash# Contoh, sesuaikan laluan sebenar sudo /usr/libexec/ApplicationFirewall/socketfilterfw --add /Applications/ServBay/bin/mariadb/<version>/bin/mysqld sudo /usr/libexec/ApplicationFirewall/socketfilterfw --unblockapp /Applications/ServBay/bin/mariadb/<version>/bin/mysqld1
2
3
Windows:
- Semak tetapan Windows Defender Firewall atau firewall pihak ketiga.
- Tambah peraturan aplikasi atau port:cmd
netsh advfirewall firewall add rule name="ServBay MariaDB" dir=in action=allow program="C:\ServBay\bin\mariadb\<version>\bin\mysqld.exe"1
Isu konfigurasi (
bind-address):- Semak parameter
bind-addressdalammy.cnf. Nilai127.0.0.1ataulocalhosthanya benarkan sambungan tempatan. Tetapkan kepada0.0.0.0untuk semua IP jika perlu akses dari pihak luar dan pastikan firewall telah dikonfigurasi dengan betul.
- Semak parameter
Konfigurasi rangkaian (
localhost):- Pastikan
localhostresolusi kepada127.0.0.1dan::1.
macOS:
bashping localhost # Semak fail hosts cat /etc/hosts1
2
3Windows:
cmdping localhost # Semak fail hosts type C:\Windows\System32\drivers\etc\hosts1
2
3Pastikan ada entri
localhostyang betul. Tutup mana-mana perisian proksi yang mungkin ganggu trafik tempatan.- Pastikan
3. Pakej MariaDB/MySQL Gagal Dimulakan
Punca & Penyelesaian:
Semak log ralat (paling penting!): Lihat log bagi maklumat kerosakkan permulaan.
- macOS:
/Applications/ServBay/logs/mariadb/<version>/<version>.err - Windows:
C:\ServBay\logs\mariadb\<version>\<version>.err
- macOS:
Kesalahan fail konfigurasi: Fail konfigurasi mengandungi kesalahan sintaks, parameter tidak sah, atau laluan salah.
Lokasi konfigurasi:
- macOS:
/Applications/ServBay/etc/mariadb/<version>/my.cnf - Windows:
C:\ServBay\etc\mariadb\<version>\my.cnf
Sahkan sintaks konfigurasi:
bash# macOS /Applications/ServBay/bin/mariadb/<version>/bin/mysqld --defaults-file=/Applications/ServBay/etc/mariadb/<version>/my.cnf --validate-config # Windows C:\ServBay\bin\mariadb\<version>\bin\mysqld.exe --defaults-file=C:\ServBay\etc\mariadb\<version>\my.cnf --validate-config1
2
3
4
5- macOS:
Port digunakan: (rujuk di atas)
Ruang cakera tidak cukup: Directory data atau log tiada ruang mencukupi.
Lokasi direktori:
- macOS: Data
/Applications/ServBay/db/mariadb/<version>/, Log/Applications/ServBay/logs/mariadb/<version>/ - Windows: Data
C:\ServBay\db\mariadb\<version>\, LogC:\ServBay\logs\mariadb\<version>\
- macOS: Data
Isu kebenaran: Pengguna proses MariaDB/MySQL tiada kebenaran ke konfigurasi, directory data atau log. ServBay biasanya urus kebenaran ini, tetapi jika anda ubah manual, masalah mungkin berlaku.
Semak kebenaran di macOS:
bashls -ld /Applications/ServBay/db/mariadb/<version> ls -l /Applications/ServBay/etc/mariadb/<version>/my.cnf ls -ld /Applications/ServBay/logs/mariadb/<version>1
2
3Pastikan pengguna proses (seperti
_mysql) mempunyai kebenaran penuh.Semak di Windows: Gunakan File Explorer semak Properties fail/direktori dan pastikan akaun ServBay ada hak yang diperlukan.
Fail data rosak: (rujuk seksyen “database crash/kerosakan data”) Jika berlaku shutdown tidak normal atau isu lain, fail data mungkin rosak dan gagal permulaan.
Selepas penyelesaian:
- Cuba mulakan semula pakej:
servbayctl restart mariadb <version>
4. Isu Kebenaran Pengguna/Autentikasi
Selepas berjaya sambung ke server, anda mungkin jumpa ralat berkaitan nama pengguna, kata laluan, atau hak akses seperti Access denied.
Punca & Penyelesaian:
- Nama pengguna/kata laluan salah: Sahkan maklumat yang digunakan adalah betul. ServBay membenarkan reset kata laluan pengguna root; guna fungsi ini jika terlupa.
- Had host pengguna: Akaun hanya dibenarkan untuk sambungan dari host tertentu (contoh
'webapp'@'localhost'). Cuba dari'127.0.0.1'mungkin gagal, begitu juga sebaliknya.'%'benarkan dari semua lokasi. - Hak akses tidak cukup: Pengguna tidak boleh akses database tertentu, atau operasi tertentu (SELECT, INSERT, dll).
- Semak hak pengguna:
- Sambung dengan akaun root:bash
mysql -u root -p1 - Dalam shell SQL, semak hak akses:sql
SHOW GRANTS FOR '<username>'@'<hostname>'; -- Contoh untuk 'webapp' dari 'localhost': SHOW GRANTS FOR 'webapp'@'localhost'; -- Atau 'admin' dari mana-mana lokasi: SHOW GRANTS FOR 'admin'@'%';1
2
3
4
5 - Guna
GRANT,REVOKEuntuk ubah hak, atau cipta pengguna baru.
- Sambung dengan akaun root:
5. Masalah Prestasi
Penurunan prestasi DB menjejaskan kelajuan aplikasi.
Punca & Penyelesaian:
- Query perlahan: Query tidak cekap, kurang indeks atau pelan eksekusi tidak baik.
- Log query perlahan: Tetapkan
slow_query_log = 1danlong_query_time = 1dalammy.cnf, sertaslow_query_log_file. Mulakan semula pakej dan analisis log query perlahan. - Guna
EXPLAIN: Tambah di depan query untuk analisis pelan dan indeks.sqlEXPLAIN SELECT * FROM your_table_name WHERE column_name = 'value';1 - Optimumkan query: Berdasarkan hasil
EXPLAIN, elak operasi tidak cekap (SELECT *, fungsi dalam WHERE, dll).
- Log query perlahan: Tetapkan
- Kurang/Tiada indeks: Medan yang kerap digunakan dalam query, susunan atau kumpulan tiada indeks.
- Analisis struktur dan query: Kenalpasti medan untuk buat indeks.
- Buat indeks:sqlNota: Indeks tingkatkan bacaan, tapi tambahkan beban tulis dan penggunaan ruang.
CREATE INDEX idx_column_name ON your_table_name(column_name);1
- Konfigurasi cache tidak optima: Parameter seperti
innodb_buffer_pool_size,key_buffer_sizetidak sesuai dalammy.cnf.- Ubah konfigurasi
my.cnf: Tetapkan parameter cache ikut RAM sistem dan keperluan database anda. Umumnya,innodb_buffer_pool_sizewajar di antara 50-70% RAM untuk pelayan DB utama. Mulakan semula pakej selepas ubah.ini[mysqld] # Sesuaikan, contoh menggunakan 2GB RAM innodb_buffer_pool_size = 2G # Untuk MyISAM lebih banyak: # key_buffer_size = 256M1
2
3
4
5
- Ubah konfigurasi
- Kekangan perkakasan: CPU tinggi, RAM rendah menyebabkan swapping, atau disk I/O menjadi bottleneck. Guna Activity Monitor di macOS atau
top/htopuntuk diagnosis.
6. Database Crash/Kerosakan Data
Jika database gagal dimulakan, kerap crash atau akses data bermasalah, fail data mungkin rosak.
Punca & Penyelesaian:
- Semak log ralat: Langkah terpenting; log biasanya rekodkan punca crash/kerosakan (InnoDB, filesystem, hardware, dll).
- macOS:
/Applications/ServBay/logs/mariadb/<version>/<version>.err - Windows:
C:\ServBay\logs\mariadb\<version>\<version>.err
- macOS:
- Kerosakan perkakasan: Masalah disk, RAM, dll menyebabkan tulis/baca data gagal. Semak log sistem (Console.app) atau alat diagnostic hardware.
- Konflik/bug perisian: Versi tertentu MariaDB/MySQL mungkin ada bug atau konflik dengan aplikasi lain.
- Konfigurasi salah: Parameter
my.cnfsalah menyebabkan ketidakstabilan. - Shutdown paksa/interupsi: Menutup MariaDB/MySQL tanpa proses normal (tutup aplikasi ServBay terus atau kill process) boleh jadi punca data tidak konsisten.
Penyelesaian:
- Cuba restart selamat: Guna antara muka ServBay atau terminal:
servbayctl restart mariadb <version>. - Guna
mysqlcheckuntuk semak dan baikpulih table: Terutamanya untuk table MyISAM.bashNota:# Guna konfigurasi ServBay, akaun root untuk semua table semua database mysqlcheck --defaults-file=/Applications/ServBay/etc/mariadb/<version>/my.cnf -u root -p --check --all-databases # Untuk MyISAM, boleh cuba baikpulih automatik # mysqlcheck --defaults-file=/Applications/ServBay/etc/mariadb/<version>/my.cnf -u root -p --auto-repair --check --all-databases1
2
3
4--auto-repairhanya untuk MyISAM. Untuk InnoDB, semakan boleh, baikpulih lebih kompleks (rujuk ‘InnoDB force recover’ atau pemulihan dari sandaran). - InnoDB force recovery (
innodb_force_recovery): Jika InnoDB gagal permulaan, boleh cuba force recover. Langkah ini berisiko tinggi! Hanya guna untuk export data segera!- Sandarkan directory data dahulu (walaupun sudah rosak): Salin
/Applications/ServBay/db/mariadb/<version>/ke lokasi lain. - Edit
my.cnfuntuk versi bermasalah (/Applications/ServBay/etc/mariadb/<version>/my.cnf). - Tambah
innodb_force_recovery = N(N dari 1, naikkan jika gagal sampai 6, satu tahap setiap kali). - Cuba start MariaDB/MySQL:
servbayctl start mariadb <version>. - Jika berjaya walaupun ‘read-only’, SEGERA eksport data dengan
mysqldump!bashPastikan fail backup wujud dan saiz relevan.mysqldump --defaults-file=/Applications/ServBay/etc/mariadb/<version>/my.cnf -u root -p --all-databases --routines --triggers --events > /path/to/your_emergency_backup.sql1 - Selepas backup, hentikan MariaDB/MySQL:
servbayctl stop mariadb <version>. - Edit
my.cnf, buang/comment barisinnodb_force_recovery = N. - Pemulihan data: Lazimnya dengan inisialisasi directory data baru dan import backup ke database baru.
- Sandarkan directory data dahulu (walaupun sudah rosak): Salin
- Pemulihan dari sandaran: Jika tidak dapat baiki atau data tidak konsisten, cara paling selamat ialah restore dari sandaran terbaru. ServBay menyimpan fail sandaran di:
/Applications/ServBay/backup/mariadb/<version>/(jika gunakan fungsi sandaran ServBay).- Contoh command (import ke
<target_database_name>):bashNota:# Sahkan database wujud # mysql --defaults-file=/Applications/ServBay/etc/mariadb/<version>/my.cnf -u root -p -e "CREATE DATABASE <target_database_name>;" # Arahan import mysql --defaults-file=/Applications/ServBay/etc/mariadb/<version>/my.cnf -u <username> -p <target_database_name> < /Applications/ServBay/backup/mariadb/<version>/<your_backup.sql>1
2
3
4
5<version>perlu diganti dengan versi pakej MariaDB/MySQL sebenar.
- Contoh command (import ke
7. Masalah Backup & Restore
Ketika guna fungsi sandaran ServBay atau backup manual dengan mysqldump, isu mungkin berlaku.
Punca & Penyelesaian:
- Fail sandaran tidak lengkap/rosak:
- Semak saiz fail (
ls -lh /path/to/your_backup.sql), pastikan sesuai dengan jangkaan. - Guna editor atau
lessuntuk semak isi fail (less /path/to/your_backup.sql), pastikan format SQL sah. - Jika backup manual (
mysqldump), perhatikan paparan semasa backup untuk ralat. Jika gunakan built-in ServBay, lihat log aplikasi untuk maklumat backup.
- Semak saiz fail (
- Isu command restore:
- Salah username, password atau nama database.
- Pengguna tiada hak restore/import.
- Syntax SQL tidak sesuai: Backup dari versi atau jenis DB berbeza mungkin ada incompatibility.
- Isu constraint foreign key: Data import gagal disebabkan aturan foreign key, kerana table belum dicipta/diimport. Disable pemeriksaan foreign key sebelum import, enable semula selepas:sqlNota: Disable hanya semasa import, risiko konsistensi data.
-- Sebelum import SET foreign_key_checks = 0; -- Import, contoh: source /path/to/your_backup.sql; -- Dalam klien mysql -- Atau import command line: mysql ... < /path/to/your_backup.sql -- Selepas import SET foreign_key_checks = 1;1
2
3
4
5
6
7
8 - Isu charset/collation: Data atau schema backup menggunakan charset/collation tidak serasi dengan DB sasaran. Pastikan gunakan charset yang sama, seperti
utf8mb4.
Panduan restore database (contoh command line):
macOS:
bash
# Backup fail untuk database tertentu
# Pastikan database (<target_database_name>) sudah dicipta
# mysql --defaults-file=/Applications/ServBay/etc/mariadb/<version>/my.cnf -u root -p -e "CREATE DATABASE <target_database_name>;"
# Import ke database dengan config, username, password yang betul
mysql --defaults-file=/Applications/ServBay/etc/mariadb/<version>/my.cnf -u <username> -p <target_database_name> < /Applications/ServBay/backup/mariadb/<version>/<your_backup.sql>
# Jika backup untuk semua database (--all-databases), tidak perlu nama database
# mysql --defaults-file=/Applications/ServBay/etc/mariadb/<version>/my.cnf -u <username> -p < /Applications/ServBay/backup/mariadb/<version>/<your_backup.sql>1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
Windows:
cmd
REM Backup fail untuk database tertentu
REM Pastikan database (<target_database_name>) telah dicipta
REM C:\ServBay\bin\mariadb\<version>\bin\mysql.exe --defaults-file=C:\ServBay\etc\mariadb\<version>\my.cnf -u root -p -e "CREATE DATABASE <target_database_name>;"
REM Import command
C:\ServBay\bin\mariadb\<version>\bin\mysql.exe --defaults-file=C:\ServBay\etc\mariadb\<version>\my.cnf -u <username> -p <target_database_name> < C:\ServBay\backup\mariadb\<version>\<your_backup.sql>
REM Jika backup untuk semua database (--all-databases), tidak perlu nama database
REM C:\ServBay\bin\mariadb\<version>\bin\mysql.exe --defaults-file=C:\ServBay\etc\mariadb\<version>\my.cnf -u <username> -p < C:\ServBay\backup\mariadb\<version>\<your_backup.sql>1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
Nota: <version> perlu diganti dengan versi sebenar pakej. Sandaran built-in ServBay lazimnya mudah dipulihkan serta menyediakan pilihan restore berkaitan.
8. Bug Khusus: MariaDB 11.5.1 InnoDB Gagal Permulaan (ib_logfile0 was not found / Missing FILE_CHECKPOINT)
Isu ini ialah bug serius pada MariaDB 11.5.1 yang boleh menyebabkan engine InnoDB gagal inisialisasi atau memulihkan dari fail log, mengakibatkan database gagal permulaan.
Petanda log ralat:
Dalam fail log ralat, anda akan jumpa mesej seperti contoh di bawah:
macOS (/Applications/ServBay/logs/mariadb/11.5/11.5.err):
[ERROR] InnoDB: File /Applications/ServBay/db/mariadb/11.5/ib_logfile0 was not found
[ERROR] InnoDB: Plugin initialization aborted with error Generic error
[ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
[ERROR] Unknown/unsupported storage engine: InnoDB1
2
3
4
2
3
4
Windows (C:\ServBay\logs\mariadb\11.5\11.5.err):
[ERROR] InnoDB: File C:\ServBay\db\mariadb\11.5\ib_logfile0 was not found
[ERROR] InnoDB: Plugin initialization aborted with error Generic error
[ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
[ERROR] Unknown/unsupported storage engine: InnoDB1
2
3
4
2
3
4
atau:
[ERROR] InnoDB: Missing FILE_CHECKPOINT(xxxxx) at xxxxx
[ERROR] InnoDB: Log scan aborted at LSN xxxxx
[ERROR] InnoDB: Plugin initialization aborted with error Generic error
[ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
[ERROR] Unknown/unsupported storage engine: InnoDB1
2
3
4
5
2
3
4
5
Ini menandakan InnoDB gagal jumpa atau mengurus fail lognya, mengakibatkan engine gagal mula.
Penyelesaian (membabitkan migrasi data, pastikan backup terlebih dahulu):
Ini ialah bug kritikal dan sukar diperbaiki dengan cara biasa. Cara paling selamat ialah cuba force start untuk export data, kemudian migrasi ke versi MariaDB stabil lain.
Cuba force recovery untuk backup data (berisiko!):
Edit file konfigurasi:
- macOS:
/Applications/ServBay/etc/mariadb/11.5/my.cnf - Windows:
C:\ServBay\etc\mariadb\11.5\my.cnf
Tambah
innodb_force_recovery = 6dalam bahagian[mysqld]Cuba start servis:
bashservbayctl start mariadb 11.51Jika berjaya dimulakan, segera buat backup:
macOS:
bashmysqldump --defaults-file=/Applications/ServBay/etc/mariadb/11.5/my.cnf -u root -p --all-databases --routines --triggers --events > /Applications/ServBay/backup/mariadb/11.5/mariadb_11.5_emergency_backup.sql1Windows:
cmdC:\ServBay\bin\mariadb\11.5\bin\mysqldump.exe --defaults-file=C:\ServBay\etc\mariadb\11.5\my.cnf -u root -p --all-databases --routines --triggers --events > C:\ServBay\backup\mariadb\11.5\mariadb_11.5_emergency_backup.sql1Pastikan fail backup wujud dan saiz relevan.
- macOS:
Hentikan dan urus data directory versi bermasalah:
- Hentikan MariaDB 11.5:
servbayctl stop mariadb 11.5 - Edit
my.cnf, padam/comment barisinnodb_force_recovery = 6.
- Hentikan MariaDB 11.5:
