Тестирование подключений к S3
Двигатель хранения S3 доступен с MariaDB 10.5.4.
Если у вас не получается заставить работать двигатель хранения S3, вот несколько шагов, которые помогут определить возможную причину проблемы.
Переменные подключения к S3
В большинстве случаев проблема заключается в правильной настройке переменных подключения к S3.
Переменные:
- s3_access_key: Ключ доступа AWS для доступа к данным
- s3_secret_key: Секретный ключ AWS для доступа к данным
- s3_bucket: Ведро AWS, в котором должны храниться ваши данные. Все данные таблиц MariaDB хранятся в этом ведре.
- s3_region: Регион AWS, в котором должны храниться ваши данные.
- s3_host_name: Имя хоста для сервиса S3.
- s3_protocol_version: Протокол, используемый для связи с S3. Один из "Amazon" или "Original"
Существует несколько способов убедиться, что вы правильно их задали:
Использование aria_s3_copy для проверки подключения
aria_s3_copy — инструмент, позволяющий копировать таблицы aria в S3 и из S3. Он полезен для проверки подключения, так как позволяет указать все параметры s3 в командной строке.
Выполните следующие SQL-команды для создания тривиальной SQL-таблицы:
use test; create table s3_test (a int) engine=aria row_format=page transactional=0; insert into s3_test values (1),(2); flush tables s3_test;
Теперь вы можете использовать инструмент aria_s3_copy для копирования этого в S3 из вашей оболочки/командной строки:
shell> cd mariadb-data-directory/test shell> aria_s3_copy --op=to --verbose --force --**other*options* s3_test.frm Copying frm file s3_test.frm Copying aria table: test.s3_test to s3 Creating aria table information test/s3_test/aria Copying index information test/s3_test/index Copying data information test/s3_test/data
Как видно из вышесказанного, aria_s3_copy использует текущую директорию в качестве имени базы данных.
Вы также можете установить параметры aria_s3_copy в файле my.cnf, чтобы избежать набора текста.
Использование mysql-test-run для проверки подключения и двигателя хранения S3
Можно использовать систему тестов MariaDB mysql-test-run для выполнения всех стандартных тестов S3 на вашем хранилище S3.
Для этого необходимо найти директорию mysql-test в вашей системе и cd к ней.
Файл конфигурации для системы тестирования S3 находится по адресу suite/s3/my.cnf. Для активации тестирования необходимо отредактировать этот файл и добавить параметры подключения S3 в конец файла. После редактирования он должен выглядеть примерно так:
!include include/default_mysqld.cnf !include include/default_client.cnf [mysqld.1] s3=ON #s3-host-name=s3.amazonaws.com #s3-protocol-version=Amazon s3-bucket=MariaDB s3-access-key= s3-secret-key= s3-region=
Вы должны задать значения для s3-access-key, s3-secret-key и s3-region, которые отражают вашего поставщика S3. Имя s3-bucket, определяется вашим администратором.
Если вы не используете Amazon Web Services в качестве своего поставщика S3, вы также должны указать s3-hostname и, возможно, изменить s3-protocol-version на "Original".
Теперь вы можете проверить конфигурацию:
shell> cd **mysql-test** directory shell> ./mysql-test-run --suite=s3 ... s3.no_s3 [ pass ] 5 s3.alter [ pass ] 11073 s3.arguments [ pass ] 2667 s3.basic [ pass ] 2757 s3.discovery [ pass ] 7851 s3.select [ pass ] 1325 s3.unsupported [ pass ] 363
Обратите внимание, что в вашем выводе может быть больше тестов, так как мы постоянно добавляем больше тестов для S3 по мере необходимости.
Дальнейшие действия
Когда подключение заработает, добавьте параметры в ваш глобальный файл my.cnf. Теперь вы можете начать тестирование S3 с помощью mysql-клиента, преобразовав некоторые существующие таблицы в S3 с помощью ALTER TABLE ... ENGINE=S3.
См. также
© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/testing-the-connections-to-s3/