Menyelesaikan Ralat "Tablespace exists" semasa Import MySQL
Apabila menghadapi ralat "Tablespace for table xxx exists" semasa import data MySQL, ia pada mulanya mungkin kelihatan berlawanan dengan intuisi bahawa anda tidak boleh membuang ruang meja kerana ketiadaannya. Walau bagaimanapun, isu ini timbul daripada ketidakpadanan antara maklumat ruang jadual dan keadaan sebenar jadual.
Dalam sesetengah kes, ralat "ruang meja penuh" boleh berlaku dalam mod "innodb_file_per_table". Apabila ruang jadual innodb_data_file_path tidak mencukupi, anak yatim boleh muncul (fail.ibd tanpa rakan sejawat .frm). Untuk membetulkan isu ini:
Navigasi ke direktori di mana fail MySQL setiap jadual anda disimpan ( cth., /var/lib/mysql untuk macOS). Kenal pasti mana-mana fail tablename.ibd yang tidak mempunyai fail tablename.frm yang disertakan.
Alihkan fail .ibd yatim ke lokasi sementara yang selamat. Ini akan memutuskan sambungannya daripada pangkalan data.
Dari antara muka MySQL anda, lepaskan jadual dengan isu tersebut (cth., DROP JADUAL suhu;) dan kemudian buatnya semula (cth., BUAT JADUAL suhu (...);).
Perhatikan bahawa adalah penting untuk menyelesaikan sebarang isu asas yang mungkin telah mencetuskan ralat (cth., pertanyaan jangka panjang atau jadual terkunci). Kegagalan berbuat demikian boleh mengakibatkan kemunculan semula fail .ibd yatim piatu semasa percubaan berikutnya.
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat MySQL \'Tablespace for table xxx exists\' Semasa Import?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!