@samokiller

Как перенести часть таблиц 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, без дополнительных танцев с ручным бубном.
  • Вопрос задан
  • 54 просмотра
Пригласить эксперта
Ответы на вопрос 3
karabanov
@karabanov
Системный администратор
Никак. Может быть только один datadir
Можешь параллельно запустить второй MySQL сервер у которого datadir будет в другом месте и загрузить дамп туда. Но зачем?
Ответ написан
BojackHorseman
@BojackHorseman Куратор тега MySQL
...в творческом отпуске...
engine=archive
Ответ написан
Комментировать
sashkets
@sashkets
Даром получили — даром давайте (Матфея 10:8)
можно пробовать так
1. останов сервера
2. перенос нужных таблиц
3. в datadir делаем линк по имени. ibd таблы на таблу в новом месте
4. проверить, чтоб в новом месте на таблу были теже права
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы