Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Tabele InnoDB istnieją w MySQL, ale mówi, że nie istnieją po skopiowaniu bazy danych na nowy serwer

Powód „pokaż tabele”; działa, ponieważ mysqld przeskanuje katalog bazy danych tylko w poszukiwaniu plików .frm. Dopóki istnieją, widzi definicję tabeli.

Jeśli zaimportowałeś dane do MySQL i pojawił się ten komunikat o błędzie, pierwszą rzeczą, którą natychmiast zrobiłbym, to uruchomić to polecenie:(BTW To jest MySQL 5.1.45, ale i tak działa w 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)

Jeśli serwer, do którego zaimportowałeś dane, mówi, że InnoDB jest wyłączony, masz duży problem. Oto, co powinieneś zrobić:

1) Usuń wszystkie dane z nowego serwera bazy danych importu

2) Oczyść konfigurację InnoDB

3) uruchomić SILNIKI POKAZOWE; i upewnij się, że InnoDB jest w pełni sprawny !!!

4) Przeładuj mysqldump na nowy serwer importu

Wypróbuj !!!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zapytanie SQL z danymi binarnymi (PHP i MySQL)

  2. Używanie unii i kolejności według klauzuli w mysql

  3. MySQL Usuń zduplikowane wiersze, które mają tę samą wartość kolumny

  4. Wskazówki dotyczące aktualizacji klastra Percona XtraDB do wersji 8.0

  5. Czy w standardowym języku SQL zdefiniowano „Gdzie jest” z wieloma kolumnami?