aria_s3_copy
Поддержка движка хранения S3 доступна с MariaDB 10.5.4.
aria_s3_copy — это инструмент для копирования таблицы Aria в хранилище S3 и из него.
Таблица Aria должна быть не транзакционной и иметь ROW_FORMAT=PAGE.
Для надёжной работы aria_s3_copy, таблица не должна изменяться сервером MariaDB во время копирования, и перед этим необходимо выполнить FLUSH TABLES, чтобы убедиться, что таблица закрыта должным образом.
Пример правильно созданной таблицы Aria:
create table test1 (a int) transactional=0 row_format=PAGE engine=aria;
Обратите внимание, что ALTER TABLE table_name ENGINE=S3 будет работать для любого типа таблиц. Это внутренне преобразует таблицу в таблицу Aria и затем переместит её в хранилище S3.
Основные аргументы
| Опция | Описание |
|---|---|
| -?, --help | Отобразить справку и выйти. |
| -k, --s3-access-key=name | ID ключа доступа AWS |
| -r, --s3-region=name | Регион AWS |
| -K, --s3-secret-key=name | ID секретного ключа доступа AWS |
| -b, --s3-bucket=name | Префикс AWS для таблиц |
| -h, --s3-host-name=name | Имя хоста для поставщика S3 |
| -c, --compress | Использовать сжатие |
| -o, --op=name | Выполняемая операция. Одна из 'from_s3', 'to_s3' или 'delete_from_s3' |
| -d, --database=name | База данных для скопированной таблицы (второй префикс). Если не указано, используется директория файла таблицы |
| -B, --s3-block-size=# | Размер блока для блоков данных/индексов в S3 |
| -L, --s3-protocol-version=name | Протокол, используемый для связи с S3. Один из "Amazon" или "Original". |
| -f, --force | Выполнить копирование, даже если целевой объект существует |
| -v, --verbose | Вывести больше информации |
| -V, --version | Вывести версию и выйти. |
| -#, --debug[=name] | Вывести отладочный лог. Часто это 'd:t:o,filename'. |
| --s3-debug | Вывести отладочный лог из marias3 в стандартный вывод |
Типичная конфигурация в файле my.cnf
[aria_s3_copy] s3-bucket=mariadb s3-access-key=xxxx s3-secret-key=xxx s3-region=eu-north-1 #s3-host-name=s3.amazonaws.com #s3-protocol-version=Amazon verbose=1 op=to
Пример использования
Следующий код скопирует существующую таблицу Aria с именем test1 в S3. Если опция --database не указана, то имя директории, в которой находятся файлы таблицы, будет использоваться как база данных.
shell> aria_s3_copy --force --op=to --database=foo --compress --verbose --s3_block_size=4M test1 Delete of aria table: foo.test1 Delete of index information foo/test1/index Delete of data information foo/test1/data Delete of base information and frm Copying frm file test1.frm Copying aria table: foo.test1 to s3 Creating aria table information foo/test1/aria Copying index information foo/test1/index . Copying data information foo/test1/data .
При использовании --verbose, aria_s3_copy будет выводить точку для каждого #/79 фрагмента скопированного файла.
См. также
Использование движка хранения S3. На этой странице приведены примеры записей в .my.cnf для использования aria_s3_copy.
© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/aria_s3_copy/