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

Грешка MySQL Table не съществува, но съществува

Това току-що ми се случи и след известно време намерих отговора в статия в блога и исках да го сложа и тук.

Ако копирате директорията с данни MySQL от /var/lib/mysql към /path/to/new/dir , но копирайте само папките на базата данни (т.е. mysql , wpdb , ecommerce , и т.н.) И вие имате innodb таблици, вашите innodb таблици ще се покажат в 'show tables', но заявките към тях (select и describe ) ще се провали с грешката Mysql error: table db.tableName doesn't exist . Ще видите .frm файл в директорията db и се чудя защо.

За innodb таблици е важно да копирате над ib* файлове, които в моя случай бяха ibdata1 , ib_logfile0 и ib_logfile1 . След като извърших прехвърлянето, като се погрижих да ги копирам, всичко работи според очакванията.

Ако вашият my.cnf файл съдържа "innodb_file_per_table", .ibd файлът ще присъства в директорията db, но все още се нуждаете от ib* файловете.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как мога да използвам ADO.NET DbProviderFactory с MySQL?

  2. MySql - фаза на бавно изпращане на данни

  3. MySQL root достъп от всички хостове

  4. MySql групово вмъкване

  5. Има ли Spring Batch 3 Upgrade Script за MySQL?