Descriere
Această eroare apare atunci când MySQL/MariaDB nu poate deschide sau crea tablespace-ul principal ibdata1
. De obicei, problema apare pe serverele Metin2 instalate pe FreeBSD, atunci când configurația din my.cnf
nu corespunde cu fișierele existente pe disc.
Cauze comune
- Fișiere InnoDB șterse sau corupte
Dacă ai eliminatibdata1
,ib_logfile0
,ib_logfile1
, MySQL nu poate să le reconstruiască dacă există deja baze de date. - Configurare greșită în my.cnf
Directivainnodb_data_file_path
nu corespunde cu fișierele din/var/db/mysql/
(sau directorul de date setat). - Permisiuni incorecte
Utilizatorulmysql
nu are drepturi de citire/scriere asupra datadir-ului. - Lipsă spațiu pe disc
Nu există suficient spațiu pentru a crea tablespace-ul.
Pași pentru rezolvare
1. Verifică directorul de date (datadir)
ls -lh /var/db/mysql/
Ar trebui să vezi fișiere precum ibdata1
, ib_logfile0
, ib_logfile1
și foldere cu bazele de date (player
, account
etc.).
2. Verifică permisiunile
chown -R mysql:mysql /var/db/mysql
chmod 750 /var/db/mysql
3. Verifică fișierul my.cnf
De obicei se află în /usr/local/etc/mysql/my.cnf
sau /etc/my.cnf
. Caută:
[mysqld]
innodb_data_file_path=ibdata1:10M:autoextend
innodb_log_file_size=5M
innodb_log_files_in_group=2
Asigură-te că valorile corespund cu fișierele existente. Dacă ai modificat ceva și nu funcționează, revino la valoarea implicită:
innodb_data_file_path = ibdata1:10M:autoextend
4. Dacă NU ai date importante (instalare nouă)
Poți șterge fișierele corupte și MySQL le va regenera:
service mysql-server stop
rm -f /var/db/mysql/ibdata1 /var/db/mysql/ib_logfile*
service mysql-server start
5. Dacă AI date importante (baze Metin2 existente)
⚠️ Nu șterge ibdata1
. În acest caz:
- Ajustează
my.cnf
pentru a corespunde dimensiunii și căii reale aibdata1
. - Verifică să nu fi schimbat
innodb_file_per_table
. - Dacă fișierul este corupt, încearcă modul de recuperare InnoDB:
[mysqld]
innodb_force_recovery = 1
Pune această linie în my.cnf
(poți crește valoarea până la 6
dacă MySQL nu pornește). După pornire, fă un dump al bazelor pentru restaurare.
✅ Concluzie
Eroarea „InnoDB: Could not open or create the system tablespace” se rezolvă prin verificarea fișierelor ibdata1
, a configurării my.cnf
, a permisiunilor și a spațiului pe disc. Dacă datele sunt importante, folosește innodb_force_recovery
și salvează bazele de date înainte de reinstalare.