Необработанная копия базы данных приводит к `Не могу найти файл:`

0

Чтобы быстрее перенастроить мою базу данных, я попытался скопировать файлы необработанных файлов (MYD и MYI) базы данных на другую машину. Все таблицы работают отлично, за исключением двух таблиц, которые были разделены. Моя структура каталогов выглядит так:

table1.frm
table1.MYI
table1.MYD

table2.frm
table2.par
table2#P#p0.MYD
table2#P#p0.MYI
table2#P#p1.MYD
table2#P#p1.MYI

table3.frm
table3.par
table3#P#p0.MYD
table3#P#p0.MYI
table3#P#p1.MYD
table3#P#p1.MYI

Ниже приводится ошибка:

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema | 
| mysql              | 
| test               | 
+--------------------+
3 rows in set (0.06 sec)


mysql> use test;
Database changed

mysql> show tables;
+---------------------------+
| Tables_in_test            |
+---------------------------+
| table1                    | 
| table2                    | 
| table3                    | 
+---------------------------+
3 rows in set (0.00 sec)


mysql> explain table1;
+-------+---------+------+-----+---------+----------------+
| Field | Type    | Null | Key | Default | Extra          |
+-------+---------+------+-----+---------+----------------+
| id    | int(11) | NO   | PRI | NULL    | auto_increment | 
| a     | int(11) | YES  |     | NULL    |                | 
+-------+---------+------+-----+---------+----------------+
2 rows in set (0.01 sec)


mysql> explain table2;
ERROR 1017 (HY000): Can't find file: 'table2' (errno: 2)

mysql> explain table3;
ERROR 1017 (HY000): Can't find file: 'table3' (errno: 2)

mysql> check TABLE table2;
+--------------------------+-------+----------+--------------------------------------------------+
| Table                    | Op    | Msg_type | Msg_text                                         |
+--------------------------+-------+----------+--------------------------------------------------+
| test.table2              | check | Error    | Can't find file: 'table2' (errno: 2)             | 
| test.table2              | check | error    | Corrupt                                          | 
+--------------------------+-------+----------+--------------------------------------------------+
2 rows in set (0.00 sec)

Я проверил разрешения, и все выглядит нормально. Я попробовал ремонт, но это тоже не сработало. Есть ли что-то, что можно сделать?

Теги:
database

1 ответ

1
Лучший ответ

Сервер, на который вы их перенесите, может не включать partioning.

Попробуйте SHOW VARIABLES LIKE '%partition%'; и проверьте значение переменной have_partioning или have_partition_engine (в зависимости от вашей версии mysql).

Дополнительную информацию можно найти в документации.

  • 0
    Похоже, моя версия не имеет разметки. Большое спасибо за понимание!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню