Rezolvarea erorii „InnoDB: Could not open or create the system tablespace” pe FreeBSD (Metin2/MySQL)

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 eliminat ibdata1, ib_logfile0, ib_logfile1, MySQL nu poate să le reconstruiască dacă există deja baze de date.
  • Configurare greșită în my.cnf
    Directiva innodb_data_file_path nu corespunde cu fișierele din /var/db/mysql/ (sau directorul de date setat).
  • Permisiuni incorecte
    Utilizatorul mysql 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 a ibdata1.
  • 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.

  • 0 utilizatori au considerat informația utilă
Răspunsul a fost util?

Articole similare

Rezolvarea erorii "Numele caracterului este gresit"

Descriere Această problemă apare atunci când serverul MySQL/MariaDB rulează în modul strict...

Rezolvare ERROR la creare cont pe site

Rezolvare eroare la înregistrare în Metin2 Dacă întâmpini o eroare la înregistrarea contului în...

Alte erori de logs

Rezolvare erori comune în channel1 Metin2 Unele erori în channel1 pot apărea din cauza...

Rezolvare eroare blocare la Conectarea ruleaza

Rezolvare eroare de blocare la conectare în Metin2 Dacă jucătorii întâmpină blocare sau eroare...

Problema MySQL Socket pe FreeBSD

  Dacă serverul tău fr metin2 rulează pe MariaDB și vezi eroarea: mysql_real_connect: Can't...