Rumah pangkalan data tutorial mysql InnoDB: Error: Table "mysql"."inn_MySQL

InnoDB: Error: Table "mysql"."inn_MySQL

Jun 01, 2016 pm 01:16 PM
error

1,Mysqldump的时候报错如下:

2014-05-05 14:12:37 7f004a9a2700 InnoDB: Error: Table "mysql"."innodb_table_stats" not found.

但是show tables我看这个表示存在的:

但是show create table innodb_index_stats;报错如下:

mysql>show create table innodb_index_stats;ERROR 1146 (42S02): Table'mysql.innodb_index_stats' doesn't existmysql>
Salin selepas log masuk

2,估计是表坏了,去数据库服务器上面的mysql库的目录看下这些表的数据文件:

 

3,看到表的数据文件以及结构文件都存在

然后去找$MYSQL_HOME/share/mysql_system_tables.sql,search到建表语句

打开mysql_system_tables.sql,找到sql,然后执行:

mysql> CREATETABLE IF NOT EXISTS innodb_index_stats (	->		 database_name				 VARCHAR(64) NOT NULL,	->		 table_name					VARCHAR(64) NOT NULL,	->		 index_name					VARCHAR(64) NOT NULL,	->		 last_update					 TIMESTAMP NOT NULL NOTNULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,	->		 stat_name					 VARCHAR(64) NOT NULL,	->		 stat_value					BIGINT UNSIGNED NOT NULL,	->		 sample_size					 BIGINT UNSIGNED,	->		 stat_description				VARCHAR(1024) NOT NULL,	->		 PRIMARY KEY (database_name,table_name, index_name, stat_name)	-> ) ENGINE=INNODB DEFAULT CHARSET=utf8COLLATE=utf8_bin STATS_PERSISTENT=0;ERROR 1146(42S02): Table 'mysql.innodb_index_stats' doesn't existmysql>mysql>
Salin selepas log masuk

还报错Table 'mysql.innodb_index_stats' doesn'texist,可能是那个判断导致,去掉判断试试:

mysql> CREATETABLE innodb_index_stats (	->		database_name				 VARCHAR(64) NOT NULL,	->		 table_name					VARCHAR(64) NOT NULL,	->		 index_name					VARCHAR(64) NOT NULL,	->		 last_update					 TIMESTAMP NOT NULL NOTNULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,	->		 stat_name					 VARCHAR(64) NOT NULL,	->		 stat_value					BIGINT UNSIGNED NOT NULL,	->		 sample_size					 BIGINT UNSIGNED,	->		 stat_description				VARCHAR(1024) NOT NULL,	->		 PRIMARY KEY (database_name,table_name, index_name, stat_name)	-> ) ENGINE=INNODB DEFAULT CHARSET=utf8COLLATE=utf8_bin STATS_PERSISTENT=0;ERROR 1146(42S02): Table 'mysql.innodb_index_stats' doesn't exist
Salin selepas log masuk

诡异,不存在还不让create了,是否原来的数据文件存在不过坏了,所以create的时候就报了这样一个诡异的错误呢?

4,去数据库目录看下,果然文件是否已经存在了:

[root@xxx mysql]# ll /home/data/mysql/data/mysql/innodb*-rw-rw----. 1mysql mysql12982 4月 922:24 /home/data/mysql/data/mysql/innodb_index_stats.frm-rw-rw----. 1mysql mysql 180224 5月 6 10:38/home/data/mysql/data/mysql/innodb_index_stats.ibd-rw-rw----. 1mysql mysql 8830 4月 922:24 /home/data/mysql/data/mysql/innodb_table_stats.frm-rw-rw----. 1mysql mysql98304 5月 610:38 /home/data/mysql/data/mysql/innodb_table_stats.ibd[root@db-m2-slave-1mysql]#
Salin selepas log masuk

如果是myisam表还可以用命令修复一下,但是innnodb,就只好重启数据库试试,restart之后,进入mysql库:

mysql> descinnodb_index_stats;ERROR 1146(42S02): Table 'mysql.innodb_index_stats' doesn't exist
Salin selepas log masuk

还是报错,那就只有drop操作:

mysql> droptable mysql.innodb_index_stats;ERROR 1051(42S02): Unknown table 'mysql.innodb_index_stats'mysql>mysql>
Salin selepas log masuk

5,RM操作删除掉旧的坏的数据表文件

drop还是报错,最后看来只有一招了,rm -rf掉原来已经存在坏掉的不能加载的innodb_index_stats文件,再重新create了。

rm -rf/home/data/mysql/data/mysql/innodb*
Salin selepas log masuk

rm后再登陆mysql执行create操作。

mysql> usemysql;Database changedmysql>mysql>CREATE TABLE innodb_index_stats (	->			 database_name				 VARCHAR(64) NOT NULL,	->			 table_name					VARCHAR(64) NOT NULL,	->			 index_name					VARCHAR(64) NOT NULL,	->			 last_update					 TIMESTAMP NOT NULL NOTNULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,	->			 stat_name					 VARCHAR(64) NOT NULL,	->			 stat_value					BIGINT UNSIGNED NOT NULL,	->			 sample_size					 BIGINT UNSIGNED,	->			 stat_description				VARCHAR(1024) NOT NULL,	->			 PRIMARY KEY (database_name,table_name, index_name, stat_name)	->	) ENGINE=INNODB DEFAULT CHARSET=utf8 COLLATE=utf8_binSTATS_PERSISTENT=0;Query OK, 0 rowsaffected (0.02 sec)
Salin selepas log masuk

创建innodb_index_stats成功了。最后执行原来的mysqldump备份操作,一切正常。

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Penyelesaian kepada PHP Ralat maut: Panggilan ke kaedah yang tidak ditentukan PDO::prepare() in Penyelesaian kepada PHP Ralat maut: Panggilan ke kaedah yang tidak ditentukan PDO::prepare() in Jun 22, 2023 pm 06:40 PM

PHP ialah bahasa pembangunan web popular yang telah digunakan sejak sekian lama. Kelas PDO (Objek Data PHP) yang disepadukan dalam PHP adalah cara biasa untuk kita berinteraksi dengan pangkalan data semasa pembangunan aplikasi web. Walau bagaimanapun, masalah yang sering dihadapi oleh sesetengah pembangun PHP ialah apabila menggunakan kelas PDO untuk berinteraksi dengan pangkalan data, mereka menerima ralat seperti ini: PHPFatalerror:CalltoundefinedmethodPDO::prep

Apakah yang perlu saya lakukan jika 'Ralat Tidak Ditangkap (dalam janji): Permintaan gagal dengan kod status 500' berlaku apabila menggunakan axios dalam aplikasi Vue? Apakah yang perlu saya lakukan jika 'Ralat Tidak Ditangkap (dalam janji): Permintaan gagal dengan kod status 500' berlaku apabila menggunakan axios dalam aplikasi Vue? Jun 24, 2023 pm 05:33 PM

Sangat biasa untuk menggunakan axios dalam aplikasi Vue ialah klien HTTP berasaskan Promise yang boleh digunakan dalam penyemak imbas dan Node.js. Semasa proses pembangunan, mesej ralat "Uncaught(inpromise)Error: Requestfailedwithstatuscode500" kadangkala muncul untuk pembangun, mesej ralat ini mungkin sukar difahami dan diselesaikan. Artikel ini akan meneroka perkara ini

Selesaikan masalah 'ralat: jenis tidak lengkap tidak dibenarkan' dalam kod C++ Selesaikan masalah 'ralat: jenis tidak lengkap tidak dibenarkan' dalam kod C++ Aug 26, 2023 pm 08:54 PM

Selesaikan masalah "error:incompletetypeisnotallowed" dalam kod C++ Semasa proses pengaturcaraan C++, anda kadangkala menghadapi beberapa ralat kompilasi Salah satu ralat biasa ialah "error:incompletetypeisnotallowed". Ralat ini biasanya disebabkan oleh operasi pada jenis yang tidak lengkap. Artikel ini akan menerangkan punca ralat ini dan menyediakan beberapa penyelesaian. Pertama sekali, saya

Selesaikan masalah 'ralat: pemula dijangka sebelum 'datatype'' dalam kod C++ Selesaikan masalah 'ralat: pemula dijangka sebelum 'datatype'' dalam kod C++ Aug 25, 2023 pm 01:24 PM

Selesaikan masalah "error:expectedinitializerbefore'datatype'" dalam kod C++ Dalam pengaturcaraan C++, kadangkala kita menghadapi beberapa ralat kompilasi semasa menulis kod. Ralat ini biasanya berlaku dalam pengisytiharan berubah atau definisi fungsi dan boleh menyebabkan atur cara gagal untuk menyusun dengan betul atau

0271: Apakah yang perlu saya lakukan jika komputer tidak boleh dihidupkan kerana ralat jam masa nyata? 0271: Apakah yang perlu saya lakukan jika komputer tidak boleh dihidupkan kerana ralat jam masa nyata? Mar 13, 2023 am 11:30 AM

Penyelesaian kepada "0271: ralat jam masa nyata" yang tidak boleh dihidupkan: 1. Tekan F1, dan dalam antara muka yang muncul, alihkan bar pilihan ke item ketiga "Tarikh/Masa" 2. Tukar masa sistem secara manual ke masa semasa; 3. Tekan F10 dan pilih ya dalam kotak dialog pop timbul 4. Buka semula buku nota untuk but seperti biasa.

Penyelesaian kepada ralat PHP Fatal: Panggilan ke fungsi yang tidak ditentukan mysqli_connect() Penyelesaian kepada ralat PHP Fatal: Panggilan ke fungsi yang tidak ditentukan mysqli_connect() Jun 23, 2023 am 09:40 AM

Apabila menulis aplikasi web menggunakan PHP, pangkalan data MySQL sering digunakan untuk menyimpan data. PHP menyediakan cara untuk berinteraksi dengan pangkalan data MySQL yang dipanggil MySQLi. Walau bagaimanapun, kadangkala apabila menggunakan MySQLi, anda akan menemui mesej ralat, seperti yang ditunjukkan di bawah: PHPFatalerror:Calltoundefinedfunctionmysqli_connect() Mesej ralat ini bermakna PHP tidak dapat mencari saya

Bagaimana untuk menyelesaikan Amaran PHP: fopen(): gagal membuka strim: Tiada fail atau direktori sedemikian Bagaimana untuk menyelesaikan Amaran PHP: fopen(): gagal membuka strim: Tiada fail atau direktori sedemikian Aug 19, 2023 am 10:44 AM

Bagaimana untuk menyelesaikan PHPWarning:fopen():failedtoopenstream:Nosuchfileordirectory Dalam proses menggunakan pembangunan PHP, kita sering menghadapi beberapa masalah pengendalian fail, salah satunya ialah "PHPWarning:fopen():failedtoopenstream:Nosuchfileordirectory"

Penyelesaian kepada ralat Fatal PHP: Panggilan ke fungsi ahli fetch() Penyelesaian kepada ralat Fatal PHP: Panggilan ke fungsi ahli fetch() Jun 23, 2023 am 09:36 AM

Apabila menggunakan PHP untuk pembangunan aplikasi web, anda selalunya perlu menggunakan pangkalan data. Apabila menggunakan pangkalan data, mesej ralat adalah sangat biasa. Antaranya, PHPFatalerror: Calltoamemberfunctionfetch() ialah ralat yang agak biasa berlaku apabila menggunakan PDO untuk menanyakan pangkalan data. Jadi, apa yang menyebabkan ralat ini dan bagaimana untuk menyelesaikannya? Artikel ini akan menerangkannya secara terperinci untuk anda. 1. Punca kesilapan

See all articles