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_pathnu corespunde cu fișierele din/var/db/mysql/(sau directorul de date setat). - Permisiuni incorecte
Utilizatorulmysqlnu 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.cnfpentru 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.
