Форум OlegON > Компьютеры и Программное обеспечение > Операционные системы и программное обеспечение > MySQL & MariaDB

innodb_file_per_table как разнести разные файлы в разные места : MySQL & MariaDB

24.04.2024 23:03


17.02.2016 16:29
XsevenBeta
 
Сейчас стоит innodb_file_per_table=1 и все таблицы находятся в одном месте.

Раньше (ещё в 4ой версии mysql) эта опция была выключена, но была возможность ibdata размещать на нескольких дисках.
С innodb_file_per_table=1 я так понимаю такой возможности больше нет?

Или можно указать, что вот файл trm_out_receipt_header будет на C:\mysql\data\ukmserver\, а trm_out_receipt_footer на D:\mysql\data\ukmserver\?
17.02.2016 17:22
OlegON
 
Я не помню, может ли винда хардлинки делать между дисками? Вроде не могла... Симлинки?
Зачем это все, если есть RAID?
17.02.2016 19:13
vdm
 
В 5.6 можно раскидывать таблицы по произвольным местам, но только в момент create table. Симлинки в innodb работают для каталога базы, но не для отдельных файлов таблиц.
http://dev.mysql.com/doc/refman/5.6/en/tablespace-placing.html
19.02.2016 13:48
XsevenBeta
 
Спасибо vdm

когда innodb_per_file включено
можно перемещать определённые таблицы в другие места
правда делается это только в момент создания таблицы, через ключ
DATA DIRECTORY = 'c:/temp/';
вот так, например
CREATE TABLE log.cashdoc1 (
`store_id` INT(11) NOT NULL DEFAULT '0',
`id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
`blocked` TINYINT(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`store_id`,`id`),
KEY `blocked` (`store_id`,`blocked`)
)
DATA DIRECTORY = 'c:/temp/';
ENGINE=INNODB DEFAULT CHARSET=utf8
Часовой пояс GMT +3, время: 23:03.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.