Mysql
 sql >> база данни >  >> RDS >> Mysql

Таблиците InnoDB съществуват в MySQL, но казва, че не съществуват след копиране на база данни на нов сървър

Причината "покажи таблици"; работи, защото mysqld ще сканира директорията на базата данни само за .frm файлове. Докато съществуват, той вижда дефиниция на таблица.

Ако сте импортирали данните в MySQL и се появи това съобщение за грешка, първото нещо, което веднага бих направил, е да изпълня тази команда:(BTW Това е MySQL 5.1.45, но все пак работи в MySQL 5.x)

mysql> show engines;
+------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine     | Support | Comment                                                        | Transactions | XA   | Savepoints |
+------------+---------+----------------------------------------------------------------+--------------+------+------------+
| InnoDB     | YES     | Supports transactions, row-level locking, and foreign keys     | YES          | YES  | YES        |
| MRG_MYISAM | YES     | Collection of identical MyISAM tables                          | NO           | NO   | NO         |
| BLACKHOLE  | YES     | /dev/null storage engine (anything you write to it disappears) | NO           | NO   | NO         |
| CSV        | YES     | CSV storage engine                                             | NO           | NO   | NO         |
| MEMORY     | YES     | Hash based, stored in memory, useful for temporary tables      | NO           | NO   | NO         |
| FEDERATED  | NO      | Federated MySQL storage engine                                 | NULL         | NULL | NULL       |
| ARCHIVE    | YES     | Archive storage engine                                         | NO           | NO   | NO         |
| MyISAM     | DEFAULT | Default engine as of MySQL 3.23 with great performance         | NO           | NO   | NO         |
+------------+---------+----------------------------------------------------------------+--------------+------+------------+
8 rows in set (0.00 sec)

Ако сървърът, в който сте импортирали данните, казва, че InnoDB е деактивиран, тогава имате голям проблем. Ето какво трябва да направите:

1) Изхвърлете всички данни от новия DB сървър за импортиране

2) Почистване на настройката на InnoDB

3) стартирайте SHOW ENGINES; и се уверете, че InnoDB е напълно оперативен !!!

4) Презаредете mysqldump в новия сървър за импортиране

Опитайте !!!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Разбиране на застой в MySQL и PostgreSQL

  2. Ръководство за проектиране на база данни за анкети и анкети в MySQL

  3. Търсете във всички колони на таблица, като използвате едно условие where с една ключова дума в mysql

  4. AWS rds - Как да чета от прочетена реплика в Java приложение?

  5. Конкатенация на низ и идентификатор на първичен ключ по време на вмъкване