Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Истории успеха
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • ИИ для бизнеса
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Калькулятор цен
    • Тарифы
    • Промоакции и free tier
    • Правила тарификации
  • Истории успеха
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Managed Service for ClickHouse®
  • Начало работы
    • Все инструкции
      • SQL-запросы в Yandex WebSQL
      • Управление базами данных
      • Управление пользователями БД
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Yandex Monitoring
  • Аудитные логи Audit Trails
  • Публичные материалы
  • История изменений
  • Обучающие курсы

В этой статье:

  • Управление базами данных через SQL
  • Получить список баз данных в кластере
  • Создать базу данных
  • Удалить базу данных
  1. Пошаговые инструкции
  2. Базы данных
  3. Управление базами данных

Управление базами данных в Managed Service for ClickHouse®

Статья создана
Yandex Cloud
Улучшена
mmerihsesh
Обновлена 27 ноября 2025 г.
  • Управление базами данных через SQL
  • Получить список баз данных в кластере
  • Создать базу данных
  • Удалить базу данных

Managed Service for ClickHouse® позволяет управлять базами данных кластера двумя способами:

  • С помощью стандартных интерфейсов Yandex Cloud (CLI, API, консоль управления). Способ подходит, если вы хотите создавать и удалять базы данных кластера, используя возможности сервиса Yandex Managed Service for ClickHouse®.
  • С помощью SQL-запросов к кластеру. Способ подходит, если вы хотите использовать уже существующее у вас решение для создания и управления базами данных или если вам требуется поддержка MySQL® баз данных в Managed Service for ClickHouse®.

Управление базами данных через SQLУправление базами данных через SQL

Чтобы включить управление, выберите опции Управление пользователями через SQL и Управление базами данных через SQL при создании или изменении настроек кластера.

В кластере с включенным управлением базами данных через SQL:

  • Управление базами данных и пользователями через стандартные интерфейсы Yandex Cloud (CLI, API, консоль управления) недоступно.
  • Невозможно включить управление пользователями и базами данных с помощью стандартных интерфейсов Yandex Cloud.
  • Существующие пользователи, настройки пользователей и базы данных, созданные с помощью стандартных интерфейсов Yandex Cloud, будут сохранены.
  • Управление осуществляется с помощью учетной записи admin. Пароль для нее задается при выборе опций Управление пользователями через SQL и Управление базами данных через SQL.

Получить список баз данных в кластереПолучить список баз данных в кластере

Консоль управления
CLI
REST API
gRPC API
SQL
  1. В консоли управления выберите каталог, в котором находится кластер.
  2. Перейдите в сервис Managed Service for ClickHouse.
  3. Нажмите на имя нужного кластера, затем выберите вкладку Базы данных.

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

Чтобы получить список баз данных в кластере, выполните команду:

yc managed-clickhouse database list \
   --cluster-name=<имя_кластера>

Имя кластера можно запросить со списком кластеров в каталоге.

  1. Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:

    export IAM_TOKEN="<IAM-токен>"
    
  2. Воспользуйтесь методом Database.List и выполните запрос, например, с помощью cURL:

    curl \
      --request GET \
      --header "Authorization: Bearer $IAM_TOKEN" \
      --url 'https://mdb.api.cloud.yandex.net/managed-clickhouse/v1/clusters/<идентификатор_кластера>/databases'
    

    Идентификатор кластера можно запросить со списком кластеров в каталоге.

  3. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

  1. Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:

    export IAM_TOKEN="<IAM-токен>"
    
  2. Клонируйте репозиторий cloudapi:

    cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
    

    Далее предполагается, что содержимое репозитория находится в директории ~/cloudapi/.

  3. Воспользуйтесь вызовом DatabaseService.List и выполните запрос, например, с помощью gRPCurl:

    grpcurl \
      -format json \
      -import-path ~/cloudapi/ \
      -import-path ~/cloudapi/third_party/googleapis/ \
      -proto ~/cloudapi/yandex/cloud/mdb/clickhouse/v1/database_service.proto \
      -rpc-header "Authorization: Bearer $IAM_TOKEN" \
      -d '{
            "cluster_id": "<идентификатор_кластера>"
          }' \
      mdb.api.cloud.yandex.net:443 \
      yandex.cloud.mdb.clickhouse.v1.DatabaseService.List
    

    Идентификатор кластера можно запросить со списком кластеров в каталоге.

  4. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

  1. Подключитесь к кластеру, используя учетную запись admin.

  2. Получите список баз данных:

    SHOW DATABASES;
    

Создать базу данныхСоздать базу данных

Примечание

В каждом кластере вы можете создать не более 1000 баз данных.

Подробнее о лимитах см. в разделе Квоты и лимиты.

Консоль управления
CLI
Terraform
REST API
gRPC API
SQL
  1. В консоли управления выберите каталог, в котором находится кластер.

  2. Перейдите в сервис Managed Service for ClickHouse.

  3. Нажмите на имя нужного кластера.

  4. Выберите вкладку Базы данных.

  5. Нажмите кнопку Создать базу данных.

  6. Укажите имя базы данных.

    Примечание

    Имя базы может содержать латинские буквы, цифры и подчеркивание. Максимальная длина имени 63 символа. Запрещено создание базы данных с именем default.

  7. Выберите движок базы данных:

    • Atomic (по умолчанию) — поддерживает неблокирующие операции DROP TABLE и RENAME TABLE, а также атомарные операции EXCHANGE TABLES.

    • Replicated — поддерживает репликацию метаданных таблиц между всеми репликами базы данных. При этом набор таблиц и их схемы будут одинаковыми для всех реплик.

      Доступен только в реплицированных кластерах.

    Движок задается при создании базы данных и не может быть изменен для этой базы.

  8. Нажмите кнопку Создать.

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

Выполните команду создания БД, задав имя новой базы:

yc managed-clickhouse database create <имя_БД> \
   --cluster-name=<имя_кластера>

Примечание

Имя базы может содержать латинские буквы, цифры и подчеркивание. Максимальная длина имени 63 символа. Запрещено создание базы данных с именем default.

Имя кластера можно запросить со списком кластеров в каталоге.

Managed Service for ClickHouse® запустит операцию создания базы данных.

  1. Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.

    О том, как создать такой файл, см. в разделе Создание кластера.

  2. Добавьте ресурс yandex_mdb_clickhouse_database:

    resource "yandex_mdb_clickhouse_database" "<имя_БД>" {
      cluster_id = "<идентификатор_кластера>"
      name       = "<имя_БД>"
    }
    

    Примечание

    Имя базы может содержать латинские буквы, цифры и подчеркивание. Максимальная длина имени 63 символа. Запрещено создание базы данных с именем default.

    Если кластер создается с помощью Terraform одновременно с созданием БД, то в ресурсе yandex_mdb_clickhouse_database вместо идентификатора кластера укажите ссылку на имя создаваемого кластера:

    
    resource "yandex_mdb_clickhouse_cluster" "<имя_кластера>" {
      name = "<имя_кластера>"
      ...
    }
    
    resource "yandex_mdb_clickhouse_database" "<имя_БД>" {
      cluster_id = yandex_mdb_clickhouse_cluster.<имя_кластера>.id
      name       = "<имя_БД>"
    }
    
  3. Проверьте корректность настроек.

    1. В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.

    2. Выполните команду:

      terraform validate
      

      Если в файлах конфигурации есть ошибки, Terraform на них укажет.

  4. Подтвердите изменение ресурсов.

    1. Выполните команду для просмотра планируемых изменений:

      terraform plan
      

      Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.

    2. Если вас устраивают планируемые изменения, внесите их:

      1. Выполните команду:

        terraform apply
        
      2. Подтвердите изменение ресурсов.

      3. Дождитесь завершения операции.

Подробнее см. в документации провайдера Terraform.

  1. Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:

    export IAM_TOKEN="<IAM-токен>"
    
  2. Воспользуйтесь методом Database.Create и выполните запрос, например, с помощью cURL:

    curl \
        --request POST \
        --header "Authorization: Bearer $IAM_TOKEN" \
        --header "Content-Type: application/json" \
        --url 'https://mdb.api.cloud.yandex.net/managed-clickhouse/v1/clusters/<идентификатор_кластера>/databases' \
        --data '{
                  "databaseSpec": {
                    "name": "<имя_базы_данных>",
                    "engine": "<движок_базы_данных>"
                  }
                }'
    

    Где:

    • databaseSpec.name — имя базы данных.

      Примечание

      Имя базы может содержать латинские буквы, цифры и подчеркивание. Максимальная длина имени 63 символа. Запрещено создание базы данных с именем default.

    • databaseSpec.engine — движок базы данных. Возможные значения:

      • DATABASE_ENGINE_ATOMIC (по умолчанию) — движок Atomic. Поддерживает неблокирующие операции DROP TABLE и RENAME TABLE, а также атомарные операции EXCHANGE TABLES.

      • DATABASE_ENGINE_REPLICATED — движок Replicated. Поддерживает репликацию метаданных таблиц между всеми репликами базы данных. При этом набор таблиц и их схемы будут одинаковыми для всех реплик.

        Доступен только в реплицированных кластерах.

      • DATABASE_ENGINE_UNSPECIFIED — для этого значения будет выбран движок по умолчанию DATABASE_ENGINE_ATOMIC.

      Движок задается при создании базы данных и не может быть изменен для этой базы.

    Идентификатор кластера можно запросить со списком кластеров в каталоге.

  3. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

  1. Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:

    export IAM_TOKEN="<IAM-токен>"
    
  2. Клонируйте репозиторий cloudapi:

    cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
    

    Далее предполагается, что содержимое репозитория находится в директории ~/cloudapi/.

  3. Воспользуйтесь вызовом DatabaseService.Create и выполните запрос, например, с помощью gRPCurl:

    grpcurl \
        -format json \
        -import-path ~/cloudapi/ \
        -import-path ~/cloudapi/third_party/googleapis/ \
        -proto ~/cloudapi/yandex/cloud/mdb/clickhouse/v1/database_service.proto \
        -rpc-header "Authorization: Bearer $IAM_TOKEN" \
        -d '{
              "cluster_id": "<идентификатор_кластера>",
              "database_spec": {
                "name": "<имя_базы_данных>",
                "engine": "<движок_базы_данных>"
              }
            }' \
        mdb.api.cloud.yandex.net:443 \
        yandex.cloud.mdb.clickhouse.v1.DatabaseService.Create
    

    Где:

    • database_spec.name — имя базы данных.

      Примечание

      Имя базы может содержать латинские буквы, цифры и подчеркивание. Максимальная длина имени 63 символа. Запрещено создание базы данных с именем default.

    • database_spec.engine — движок базы данных. Возможные значения:

      • DATABASE_ENGINE_ATOMIC (по умолчанию) — движок Atomic. Поддерживает неблокирующие операции DROP TABLE и RENAME TABLE, а также атомарные операции EXCHANGE TABLES.

      • DATABASE_ENGINE_REPLICATED — движок Replicated. Поддерживает репликацию метаданных таблиц между всеми репликами базы данных. При этом набор таблиц и их схемы будут одинаковыми для всех реплик.

        Доступен только в реплицированных кластерах.

      • DATABASE_ENGINE_UNSPECIFIED — для этого значения будет выбран движок по умолчанию DATABASE_ENGINE_ATOMIC.

      Движок задается при создании базы данных и не может быть изменен для этой базы.

    Идентификатор кластера можно запросить со списком кластеров в каталоге.

  4. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

  1. Подключитесь к кластеру, используя учетную запись admin.

  2. Создайте базу данных:

    CREATE DATABASE <имя_БД>;
    

    Примечание

    Имя базы может содержать латинские буквы, цифры и подчеркивание. Максимальная длина имени 63 символа. Запрещено создание базы данных с именем default.

Подробнее о создании баз данных см. в документации ClickHouse®.

Удалить базу данныхУдалить базу данных

Консоль управления
CLI
Terraform
REST API
gRPC API
SQL
  1. В консоли управления выберите каталог, в котором находится кластер.
  2. Перейдите в сервис Managed Service for ClickHouse.
  3. Нажмите на имя нужного кластера и выберите вкладку Базы данных.
  4. Нажмите на значок в строке нужной БД и выберите пункт Удалить.

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

Чтобы удалить базу данных, выполните команду:

yc managed-clickhouse database delete <имя_БД> \
   --cluster-name=<имя_кластера>

Имя кластера можно запросить со списком кластеров в каталоге.

  1. Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.

    О том, как создать такой файл, см. в разделе Создание кластера.

  2. Удалите ресурс yandex_mdb_clickhouse_database с именем удаляемой базы данных.

  3. Проверьте корректность настроек.

    1. В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.

    2. Выполните команду:

      terraform validate
      

      Если в файлах конфигурации есть ошибки, Terraform на них укажет.

  4. Подтвердите изменение ресурсов.

    1. Выполните команду для просмотра планируемых изменений:

      terraform plan
      

      Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.

    2. Если вас устраивают планируемые изменения, внесите их:

      1. Выполните команду:

        terraform apply
        
      2. Подтвердите изменение ресурсов.

      3. Дождитесь завершения операции.

Подробнее см. в документации провайдера Terraform.

  1. Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:

    export IAM_TOKEN="<IAM-токен>"
    
  2. Воспользуйтесь методом Database.Delete и выполните запрос, например, с помощью cURL:

    curl \
        --request DELETE \
        --header "Authorization: Bearer $IAM_TOKEN" \
        --url 'https://mdb.api.cloud.yandex.net/managed-clickhouse/v1/clusters/<идентификатор_кластера>/databases/<имя_БД>'
    

    Идентификатор кластера можно запросить со списком кластеров в каталоге, а имя БД — со списком БД в кластере.

  3. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

  1. Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:

    export IAM_TOKEN="<IAM-токен>"
    
  2. Клонируйте репозиторий cloudapi:

    cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
    

    Далее предполагается, что содержимое репозитория находится в директории ~/cloudapi/.

  3. Воспользуйтесь вызовом DatabaseService.Delete и выполните запрос, например, с помощью gRPCurl:

    grpcurl \
        -format json \
        -import-path ~/cloudapi/ \
        -import-path ~/cloudapi/third_party/googleapis/ \
        -proto ~/cloudapi/yandex/cloud/mdb/clickhouse/v1/database_service.proto \
        -rpc-header "Authorization: Bearer $IAM_TOKEN" \
        -d '{
              "cluster_id": "<идентификатор_кластера>",
              "database_name": "<имя_БД>"
            }' \
        mdb.api.cloud.yandex.net:443 \
        yandex.cloud.mdb.clickhouse.v1.DatabaseService.Delete
    

    Идентификатор кластера можно запросить со списком кластеров в каталоге, а имя БД — со списком БД в кластере.

  4. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

  1. Подключитесь к кластеру, используя учетную запись admin.

  2. Удалите базу данных:

    DROP DATABASE <имя_БД>;
    

Подробнее об удалении объектов см. в документации ClickHouse®.

Важно

Прежде чем создать новую базу с тем же именем, дождитесь завершения операции удаления, иначе будет восстановлена удаляемая база. Статус операции можно получить вместе со списком операций в кластере.

ClickHouse® является зарегистрированным товарным знаком ClickHouse, Inc.

Была ли статья полезна?

Предыдущая
SQL-запросы в Yandex WebSQL
Следующая
Управление пользователями БД
Проект Яндекса
© 2025 ООО «Яндекс.Облако»