Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
db:mysql:engines:innodb [2016/10/22 15:28] – создано mirocowdb:mysql:engines:innodb [2016/10/22 15:34] (текущий) – [Восстановление таблиц] mirocow
Строка 29: Строка 29:
 ===== XtraDB ===== ===== XtraDB =====
  
-===== MERGE =====+===== Восстановление таблиц =====
  
-  * Используется для объединения одинаковых таблиц в одну +  * ibdata1: By default all data and indexes for all tables/databases is stored in a single, shared file: ibdata1. idbata1 does not shrink. If rows are deleted, space will be reclaimed by new rows, but the file will only grow in size. 
-  * таблицы должны иметь идентичную структуру +  * ib_logfile0 and ib_logfile1: Redo log files to recover lost data if MySQL is not shutdown properly. 
-  * порядок столбцов должен совпадать +  * tablename.frm: Each table has a small *.frm file in the database-specific directory which stores the table definition.
-  * DROP не удаляет исходных таблиц +
-  * таблицы могут быть в другой базе данных +
-  * можно использовать для алиасов (для одной таблицы) +
-  * нельзя пользоваться FULLTEXT search +
-  * нельзя смешивать временные и не временные таблицы +
-  * медленная при чтении по ключу +
-  * REPLACE не работает +
-  не отслеживаются изменения в структуре исходных таблиц (таблица будет поломана)+
  
-==== Советы/Рекомендации ==== +==== Этапы восстановление ====
- +
-Рекомендации: «удобная» (ре)организация таблиц +
- +
-===== HEAP (MEMORY) ===== +
- +
-  * транзакций нет +
-  * блокировка таблицы +
-  * репликация: да +
-  * макс. длина ключа: 500 байт +
-  * все данные теряются при остановке сервера (сама таблица остаётся) +
-  * формат хранения: всегда fixed-length row +
-  * память не высвобождается при удалении записи (используется для вставки новых) +
- +
-==== Советы/Рекомендации ==== +
- +
-большие таблицы «свопяться» на диск и выигрыш теряется +
- +
-Рекомендации: Локальные вычисления, временные данные +
- +
-===== ARCHIVE ===== +
- +
-  * макс. диск: нет ограничения +
-  * блокировка записи +
-  * не работает DELETE, REPLACE, UPDATE, ORDER BY, тип BLOB +
-  * INSERT буферизируется и «сливается» с большой задержкой +
-  * очень медленный SELECT +
- +
-==== Советы/Рекомендации ==== +
- +
-Рекомендации: логирование операций (аудит, статистические данные, счетчики)+
  
 +  - Create empty InnoDB tablespace (remove existing ibdata1, ib_logfile* and start MySQL).
 +  - Enable innodb_file_per_table
 +  - Create tables you want to connect
 +  - Compile ibdconnect from Percona InnoDB Recovery Tool and run ./ibdconnect -o ibdata1 -f t1.ibd -d <your database> -t <table name, t1 in this case> for each table.
 +  - Then fix checksums in ibdata1 as described in the post
 +  - Copy new ibdata1 and all your *.ibd files to the datadir.
 +  - Start MySQL and take a dump of the tables.