Rumah >pangkalan data >tutorial mysql >Ralat Import MySQL: Tablespace Wujud Tetapi Jadual Tiada?
Ralat: Ruang meja untuk jadual wujud. Sila BUANG ruang meja sebelum IMPORT
Soalan:
Pengguna MySQL menghadapi percubaan ralat untuk mencipta jadual yang wujud sebelum ini. Mesej ralat menunjukkan bahawa ruang jadual untuk jadual telah wujud dan mereka harus membuangnya sebelum mengimport. Walau bagaimanapun, apabila cuba menjatuhkan jadual atau membuang ruang jadual, mesej ralat menyatakan bahawa jadual itu tidak wujud. Apakah yang boleh menyebabkan isu ini?
Jawapan:
Ralat ini biasanya berlaku apabila berjalan dalam mod 'innodb_file_per_table' dan menghadapi ralat 'tablespace full'. Ruang meja pelayan pangkalan data ditakrifkan oleh tetapan innodb_data_file_path, yang boleh dihadkan secara lalai.
Dalam kes sedemikian, kemungkinan besar fail .ibd yatim wujud tanpa fail .frm pengiringnya dalam direktori OS di mana fail- per-table disimpan (biasanya /var/lib/mysql atau /usr/local/var/mysql).
Penyelesaian:
Untuk menyelesaikan isu:
Contoh:
$ ls /var/lib/mysql table1.frm table1.idb table2.frm table2.idb table3.idb <-- problem table, no table3.frm table4.frm table4.idb $ mkdir /tmp/mysql_orphans $ mv /var/lib/mysql/table3.ibd /tmp/mysql_orphans/
Nota: Pastikan sebarang punca asas , seperti pertanyaan lama atau jadual terkunci, telah diselesaikan untuk mengelakkan .ibd yatim piatu selanjutnya fail daripada dicipta.
Atas ialah kandungan terperinci Ralat Import MySQL: Tablespace Wujud Tetapi Jadual Tiada?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!