Как перенести часть таблиц innodb в отдельную папку?
win7, mysql 8
БД в формате file-per-table
innoDB.
Регулярно создаются новые таблицы. Все таблицы ежедневно прирастают данными.
Но периодически некоторые таблицы уходят на покой, обновлений в них уже не будет, а данные с них читать изредка нужно.
Как переместить эти таблицы, физически, в другую папку, при сохранении доступа к ним из mysql? Желательно чтобы сохранился file-per-table.
Т.е., сейчас есть БД "dbTest".
Все её таблицы idb хранятся в папке D:\MySQL\MySQL Server 8.0\Data\dbTest:
table1.idb
table2.idb
....
tableN.idb
Как переместить часть этих таблиц в
D:\MySQL\MySQL Server 8.0\Data\anotherFolder
при сохранении работоспособности?
Хотелось бы сделать всё средствами SQL Server, без дополнительных танцев с ручным бубном.
Akina, про sql server, я, видимо, неправильно написал. Имел ввиду что не хочется с ручным копированием/переименование файлов работать, как вот тут предлагают: https://bugs.mysql.com/bug.php?id=76142
Никак. Может быть только один datadir
Можешь параллельно запустить второй MySQL сервер у которого datadir будет в другом месте и загрузить дамп туда. Но зачем?
У меня заканчивается место на диске (+4,5 Gb/day), и мне нужно часть таблиц перенести на другой диск. Первый у меня ssd, а второй hdd.
Параллельный mysql сервер ситуацию не решит, т.к. данные будут не просто не в одной БД, а даже не в одном сервере.
можно пробовать так
1. останов сервера
2. перенос нужных таблиц
3. в datadir делаем линк по имени. ibd таблы на таблу в новом месте
4. проверить, чтоб в новом месте на таблу были теже права