Yandex Cloud
Search
Discuss with expertTry it for free
  • Customer Stories
  • Documentation
  • Blog
  • All Services
    • Cloud Interconnect
    • Cloud Backup
    • Cloud Registry
    • Yandex AI Studio
    • Compute Cloud
    • Object Storage
    • Managed Service for Kubernetes®
    • Yandex BareMetal
    • Smart Web Security
    • Security Deck
    • Managed Service for PostgreSQL
    • Managed Service for ClickHouse®
    • Monium
    • Cloud CDN
    • Network Load Balancer
    • Virtual Private Cloud
    • Cloud DNS
    • Application Load Balancer
    • Yandex Cloud Video
    • Stackland
    • Yandex Cloud Router
    • Yandex Managed Service for Trino
    • Managed Service for MySQL®
    • Managed Service for Valkey™
    • Managed Service for Apache Spark™
    • Yandex StoreDoc
    • Managed Service for OpenSearch
    • Managed Service for Apache Kafka®
    • Data Transfer
    • Yandex MPP Analytics Engine for PostgreSQL
    • Yandex Managed Service for Apache Airflow®
    • Data Processing
    • Yandex MetaData Hub
    • Managed Service for YDB
    • Managed Service for Sharded PostgreSQL
    • Managed Service for YTsaurus
    • Yandex WebSQL
    • DataLens
    • Yandex Search API
    • SpeechSense
    • SpeechKit
    • DataSphere
    • Vision OCR
    • Translate
    • Yandex Identity Hub
    • Key Management Service
    • Certificate Manager
    • Yandex Lockbox
    • Audit Trails
    • SmartCaptcha
    • Yandex SIEM
    • SourceCraft Code Assistant
    • Container Registry
    • Managed Service for GitLab
    • Managed Service for Prometheus®
    • Cloud Functions
    • API Gateway
    • Yandex Cloud Postbox
    • Message Queue
    • IoT Core
    • Data Streams
    • Serverless Containers
    • Cloud Notification Service
    • Identity and Access Management
    • Yandex Cloud Console
    • Resource Manager
    • Yandex Cloud Billing
    • Yandex Cloud Quota Manager
    • Cloud Apps
  • System Status
  • Marketplace
    • Featured
    • Infrastructure & Network
    • Data Platform
    • AI for business
    • Security
    • DevOps tools
    • Serverless
    • Monitoring & Resources
  • All Solutions
    • By industry
    • By use case
    • Economics and Pricing
    • Security
    • Technical Support
    • Start testing with double trial credits
    • Cloud credits to scale your IT product
    • Gateway to Russia
    • Cloud for Startups
    • Center for Technologies and Society
    • Yandex Cloud Partner program
    • Price calculator
    • Pricing plans
  • Customer Stories
  • Documentation
  • Blog
© 2026 Direct Cursus Technology L.L.C.
Yandex Managed Service for MySQL®
  • Getting started
    • All guides
      • Information about existing clusters
      • Creating a cluster
      • Updating a cluster
      • Managing cluster aliases
      • Stopping and restarting a cluster
      • Managing cluster hosts
      • Managing host aliases
      • Managing a DB Proxy load balancer
      • Migrating hosts to a different availability zone
      • Managing backups
      • Managing cluster access
      • Maintenance
      • MySQL® version update
      • Deleting a cluster
  • Access management
  • Inspections and recommendations
  • Pricing policy
  • Terraform reference
  • Monitoring metrics
  • Audit Trails events
  • Public materials
  • Release notes

In this article:

  • Getting a list of maintenance jobs
  • Getting a list of maintenance jobs in a cloud
  • Getting a list of maintenance jobs in a folder
  • Getting a list of maintenance jobs in a cluster
  • Getting maintenance job details
  • Getting cluster maintenance logs
  • Moving scheduled maintenance
  • Starting scheduled maintenance immediately
  • Configuring a maintenance window
  1. Step-by-step guides
  2. Clusters
  3. Maintenance

Yandex Managed Service for MySQL® cluster maintenance

Written by
Yandex Cloud
Updated at October 29, 2026
View in Markdown
  • Getting a list of maintenance jobs
    • Getting a list of maintenance jobs in a cloud
    • Getting a list of maintenance jobs in a folder
    • Getting a list of maintenance jobs in a cluster
  • Getting maintenance job details
  • Getting cluster maintenance logs
  • Moving scheduled maintenance
  • Starting scheduled maintenance immediately
  • Configuring a maintenance window

You can manage maintenance of a Managed Service for MySQL® cluster.

Getting a list of maintenance jobsGetting a list of maintenance jobs

For Managed Service for MySQL®, you can get a list of maintenance jobs in:

  • Cloud
  • Folder
  • Cluster

Getting a list of maintenance jobs in a cloudGetting a list of maintenance jobs in a cloud

REST API
gRPC API
  1. Get an IAM token for API authentication and put it into an environment variable:

    export IAM_TOKEN="<IAM_token>"
    
  2. Call the Maintenance.List method, e.g., via the following cURL request:

    curl \
      --request GET \
      --header "Authorization: Bearer $IAM_TOKEN" \
      --url 'https://mdb.api.cloud.yandex.net/managed-mysql/v1/maintenances?cloudId=<cloud_ID>'
    

    Learn how to get a cloud ID in this guide.

  3. Check the server response to make sure your request was successful.

  1. Get an IAM token for API authentication and put it into an environment variable:

    export IAM_TOKEN="<IAM_token>"
    
  2. Clone the cloudapi repository:

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

    Below, we assume that the repository contents reside in the ~/cloudapi/ directory.

  3. Call the MaintenanceService.List method, e.g., via the following gRPCurl request:

    grpcurl \
      -format json \
      -import-path ~/cloudapi/ \
      -import-path ~/cloudapi/third_party/googleapis/ \
      -proto ~/cloudapi/yandex/cloud/mdb/mysql/v1/maintenance_service.proto \
      -rpc-header "Authorization: Bearer $IAM_TOKEN" \
      -d '{
            "cloud_id": "<cloud_ID>"
          }' \
      mdb.api.cloud.yandex.net:443 \
      yandex.cloud.mdb.mysql.v1.MaintenanceService.List
    

    Learn how to get a cloud ID in this guide.

  4. Check the server response to make sure your request was successful.

Getting a list of maintenance jobs in a folderGetting a list of maintenance jobs in a folder

REST API
gRPC API
  1. Get an IAM token for API authentication and put it into an environment variable:

    export IAM_TOKEN="<IAM_token>"
    
  2. Call the Maintenance.List method, e.g., via the following cURL request:

    curl \
      --request GET \
      --header "Authorization: Bearer $IAM_TOKEN" \
      --url 'https://mdb.api.cloud.yandex.net/managed-mysql/v1/maintenances?folderId=<folder_ID>'
    

    You can get the folder ID with the list of folders in the cloud.

  3. Check the server response to make sure your request was successful.

  1. Get an IAM token for API authentication and put it into an environment variable:

    export IAM_TOKEN="<IAM_token>"
    
  2. Clone the cloudapi repository:

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

    Below, we assume that the repository contents reside in the ~/cloudapi/ directory.

  3. Call the MaintenanceService.List method, e.g., via the following gRPCurl request:

    grpcurl \
      -format json \
      -import-path ~/cloudapi/ \
      -import-path ~/cloudapi/third_party/googleapis/ \
      -proto ~/cloudapi/yandex/cloud/mdb/mysql/v1/maintenance_service.proto \
      -rpc-header "Authorization: Bearer $IAM_TOKEN" \
      -d '{
            "folder_id": "<folder_ID>"
          }' \
      mdb.api.cloud.yandex.net:443 \
      yandex.cloud.mdb.mysql.v1.MaintenanceService.List
    

    You can get the folder ID with the list of folders in the cloud.

  4. Check the server response to make sure your request was successful.

Getting a list of maintenance jobs in a clusterGetting a list of maintenance jobs in a cluster

Management console
REST API
gRPC API
  1. In the management console, select the folder containing the cluster.

  2. Navigate to Managed Service for MySQL.

  3. Select your cluster and open the Maintenance tab.

    To view maintenance jobs with a specific status, select the status you want from the Status field above the list of maintenance jobs. You can also find a maintenance job by its ID or name using the search field above the list.

    Click an ID to see how the maintenance job affects cluster availability. Look up Task details to see how the maintenance job affects users.

  1. Get an IAM token for API authentication and put it into an environment variable:

    export IAM_TOKEN="<IAM_token>"
    
  2. Call the Maintenance.List method, e.g., via the following cURL request:

    curl \
      --request GET \
      --header "Authorization: Bearer $IAM_TOKEN" \
      --url 'https://mdb.api.cloud.yandex.net/managed-mysql/v1/maintenances?resourceId=<cluster_ID>'
    

    You can get the cluster ID with the list of clusters in the folder.

  3. Check the server response to make sure your request was successful.

  1. Get an IAM token for API authentication and put it into an environment variable:

    export IAM_TOKEN="<IAM_token>"
    
  2. Clone the cloudapi repository:

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

    Below, we assume that the repository contents reside in the ~/cloudapi/ directory.

  3. Call the MaintenanceService.List method, e.g., via the following gRPCurl request:

    grpcurl \
      -format json \
      -import-path ~/cloudapi/ \
      -import-path ~/cloudapi/third_party/googleapis/ \
      -proto ~/cloudapi/yandex/cloud/mdb/mysql/v1/maintenance_service.proto \
      -rpc-header "Authorization: Bearer $IAM_TOKEN" \
      -d '{
            "resource_id": "<cluster_ID>"
          }' \
      mdb.api.cloud.yandex.net:443 \
      yandex.cloud.mdb.mysql.v1.MaintenanceService.List
    

    You can get the cluster ID with the list of clusters in the folder.

  4. Check the server response to make sure your request was successful.

Getting maintenance job detailsGetting maintenance job details

REST API
gRPC API
  1. Get an IAM token for API authentication and put it into an environment variable:

    export IAM_TOKEN="<IAM_token>"
    
  2. Call the Maintenance.Get method, e.g., via the following cURL request:

    curl \
      --request GET \
      --header "Authorization: Bearer $IAM_TOKEN" \
      --url 'https://mdb.api.cloud.yandex.net/managed-mysql/v1/maintenances/<maintenance_job_ID>'
    

    You can get the maintenance job ID with the list of maintenance jobs.

  3. Check the server response to make sure your request was successful.

  1. Get an IAM token for API authentication and put it into an environment variable:

    export IAM_TOKEN="<IAM_token>"
    
  2. Clone the cloudapi repository:

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

    Below, we assume that the repository contents reside in the ~/cloudapi/ directory.

  3. Call the MaintenanceService.Get method, e.g., via the following gRPCurl request:

    grpcurl \
      -format json \
      -import-path ~/cloudapi/ \
      -import-path ~/cloudapi/third_party/googleapis/ \
      -proto ~/cloudapi/yandex/cloud/mdb/mysql/v1/maintenance_service.proto \
      -rpc-header "Authorization: Bearer $IAM_TOKEN" \
      -d '{
            "maintenance_id": "<maintenance_job_ID>"
          }' \
      mdb.api.cloud.yandex.net:443 \
      yandex.cloud.mdb.mysql.v1.MaintenanceService.Get
    

    You can get the maintenance job ID with the list of maintenance jobs.

  4. Check the server response to make sure your request was successful.

Getting cluster maintenance logsGetting cluster maintenance logs

Management console
  1. In the management console, select the folder containing the cluster.
  2. Navigate to Managed Service for MySQL.
  3. Select your cluster and open the Maintenance tab.
  4. Select a maintenance job.
  5. Click Task logs.

Moving scheduled maintenanceMoving scheduled maintenance

Maintenance with the Planned status is scheduled for the date and time specified in the Start date column. You can postpone such maintenance for a maximum of two weeks from the original scheduled date and time.

Management console
CLI
REST API
gRPC API

To postpone scheduled maintenance:

  1. In the management console, select the folder containing the cluster.

  2. Navigate to Managed Service for MySQL.

  3. Select your cluster and open the Maintenance tab.

  4. Click next to the maintenance with the Planned status and select Postpone.

  5. Select the rescheduling type:

    • Next window: Postpone maintenance until the next available window.

    • Choose date (UTC): Reschedule maintenance for a new date and time:

      For this option, select a date and UTC time interval.

  6. Click Reschedule.

If you do not have the Yandex Cloud CLI yet, install and initialize it.

The folder used by default is the one specified when creating the CLI profile. To change the default folder, use the yc config set folder-id <folder_ID> command. You can also specify a different folder for any command using --folder-name or --folder-id.

If you access a resource by its name, the search will be limited to the default folder. If you access a resource by its ID, the search will be global, i.e., through all folders based on access permissions.

To postpone scheduled maintenance:

  1. See the description of the CLI command for rescheduling maintenance :

    yc managed-mysql cluster reschedule-maintenance --help
    
  2. Run this command to reschedule the maintenance job:

    yc managed-mysql cluster reschedule-maintenance <cluster_name_or_ID> \
       --reschedule-type <reschedule_type> \
       --delayed-until <timestamp>
    

    Where:

    • <cluster_name_or_ID>: Cluster name or ID which you can get with the list of clusters in the folder.

    • --reschedule-type: Rescheduling type. The possible values are:

      • next-available-window: Postpone maintenance until the next available window.
      • specific-time: Reschedule maintenance for a new date and time.
    • --delayed-until: Timestamp for the specific-time type.

      The timestamp may be in one of the following formats:

      • RFC-3339
      • HH:MM:SS
      • Maintenance time offset in hours and minutes

      Here are some examples: 2006-01-02T15:04:05Z, 15:04:05, 2h, 3h30m ago.

You can reschedule a scheduled maintenance job using one of these methods:

  • Cluster.RescheduleMaintenance
  • Maintenance.Reschedule

To postpone a scheduled maintenance job using the Cluster.RescheduleMaintenance method:

  1. Get an IAM token for API authentication and put it into an environment variable:

    export IAM_TOKEN="<IAM_token>"
    
  2. Call the Cluster.RescheduleMaintenance method, e.g., via the following cURL request:

    curl \
      --request POST \
      --header "Authorization: Bearer $IAM_TOKEN" \
      --header "Content-Type: application/json" \
      --url 'https://mdb.api.cloud.yandex.net/managed-mysql/v1/clusters/<cluster_ID>:rescheduleMaintenance' \
      --data '{
                "rescheduleType": "<reschedule_type>",
                "delayedUntil": "<timestamp>"
              }'
    

    Where:

    • <cluster_ID>: Cluster ID which you can get with the list of clusters in the folder.

    • rescheduleType: Rescheduling type. The possible values are:

      • NEXT_AVAILABLE_WINDOW: Postpone maintenance until the next available window.
      • SPECIFIC_TIME: Reschedule maintenance for a new date and time.
    • delayedUntil: Timestamp for the SPECIFIC_TIME type in RFC-3339 format.

      Example: 2006-01-02T15:04:05Z.

  3. Check the server response to make sure your request was successful.

To postpone a scheduled maintenance job using the Maintenance.Reschedule method:

  1. Get an IAM token for API authentication and put it into an environment variable:

    export IAM_TOKEN="<IAM_token>"
    
  2. Call the Maintenance.Reschedule method, e.g., via the following cURL request:

    curl \
      --request POST \
      --header "Authorization: Bearer $IAM_TOKEN" \
      --header "Content-Type: application/json" \
      --url 'https://mdb.api.cloud.yandex.net/managed-mysql/v1/maintenances/<maintenance_job_ID>:reschedule' \
      --data '{
                "rescheduleType": "<reschedule_type>",
                "scheduledAt": "<timestamp>"
              }'
    

    Where:

    • <maintenance_job_ID>: Maintenance job ID you can get with the list of maintenance jobs.

    • rescheduleType: Rescheduling type. The possible values are:

      • NEXT_AVAILABLE_WINDOW: Postpone maintenance until the next available window.
      • SPECIFIC_TIME: Reschedule maintenance for a new date and time.
    • scheduledAt: Timestamp for the SPECIFIC_TIME type in RFC-3339 format.

      Example: 2006-01-02T15:04:05Z.

  3. Check the server response to make sure your request was successful.

You can reschedule a scheduled maintenance job using one of these calls:

  • ClusterService.RescheduleMaintenance
  • MaintenanceService.Reschedule

To postpone a scheduled maintenance job using the ClusterService.RescheduleMaintenance call:

  1. Get an IAM token for API authentication and put it into an environment variable:

    export IAM_TOKEN="<IAM_token>"
    
  2. Clone the cloudapi repository:

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

    Below, we assume that the repository contents reside in the ~/cloudapi/ directory.

  3. Call the ClusterService.RescheduleMaintenance method, e.g., via the following gRPCurl request:

    grpcurl \
      -format json \
      -import-path ~/cloudapi/ \
      -import-path ~/cloudapi/third_party/googleapis/ \
      -proto ~/cloudapi/yandex/cloud/mdb/mysql/v1/cluster_service.proto \
      -rpc-header "Authorization: Bearer $IAM_TOKEN" \
      -d '{
            "cluster_id": "<cluster_ID>",
            "reschedule_type": "<reschedule_type>",
            "delayed_until": "<timestamp>"
          }' \
      mdb.api.cloud.yandex.net:443 \
      yandex.cloud.mdb.mysql.v1.ClusterService.RescheduleMaintenance
    

    Where:

    • cluster_id: Cluster ID which you can get with the list of clusters in the folder.

    • reschedule_type: Rescheduling type. The possible values are:

      • NEXT_AVAILABLE_WINDOW: Postpone maintenance until the next available window.
      • SPECIFIC_TIME: Reschedule maintenance for a new date and time.
    • delayed_until: Timestamp for the SPECIFIC_TIME type in RFC-3339 format.

      Example: 2006-01-02T15:04:05Z.

  4. Check the server response to make sure your request was successful.

To postpone a scheduled maintenance job using the MaintenanceService.Reschedule call:

  1. Get an IAM token for API authentication and put it into an environment variable:

    export IAM_TOKEN="<IAM_token>"
    
  2. Clone the cloudapi repository:

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

    Below, we assume that the repository contents reside in the ~/cloudapi/ directory.

  3. Call the MaintenanceService.Reschedule method, e.g., via the following gRPCurl request:

    grpcurl \
      -format json \
      -import-path ~/cloudapi/ \
      -import-path ~/cloudapi/third_party/googleapis/ \
      -proto ~/cloudapi/yandex/cloud/mdb/mysql/v1/maintenance_service.proto \
      -rpc-header "Authorization: Bearer $IAM_TOKEN" \
      -d '{
            "maintenance_id": "<maintenance_job_ID>",
            "reschedule_type": "<reschedule_type>",
            "scheduled_at": "<timestamp>"
          }' \
      mdb.api.cloud.yandex.net:443 \
      yandex.cloud.mdb.mysql.v1.MaintenanceService.Reschedule
    

    Where:

    • maintenance_id: Maintenance job ID you can get with the list of maintenance jobs.

    • reschedule_type: Rescheduling type. The possible values are:

      • NEXT_AVAILABLE_WINDOW: Postpone maintenance until the next available window.
      • SPECIFIC_TIME: Reschedule maintenance for a new date and time.
    • scheduled_at: Timestamp for the SPECIFIC_TIME type in RFC-3339 format.

      Example: 2006-01-02T15:04:05Z.

  4. Check the server response to make sure your request was successful.

Starting scheduled maintenance immediatelyStarting scheduled maintenance immediately

If you need to, you can perform a maintenance with the Planned status immediately without waiting for the time specified in the Start date column.

Management console
CLI
REST API
gRPC API

To run a scheduled cluster maintenance job immediately:

  1. In the management console, select the folder containing the cluster.
  2. Navigate to Managed Service for MySQL.
  3. Select your cluster and open the Maintenance tab.
  4. In the maintenance row, click and select Carry out now.

If you do not have the Yandex Cloud CLI yet, install and initialize it.

The folder used by default is the one specified when creating the CLI profile. To change the default folder, use the yc config set folder-id <folder_ID> command. You can also specify a different folder for any command using --folder-name or --folder-id.

If you access a resource by its name, the search will be limited to the default folder. If you access a resource by its ID, the search will be global, i.e., through all folders based on access permissions.

To run a scheduled cluster maintenance job immediately:

  1. View the description of the CLI command for running a maintenance job:

    yc managed-mysql cluster reschedule-maintenance --help
    
  2. Run this command to run the scheduled maintenance job:

    yc managed-mysql cluster reschedule-maintenance <cluster_name_or_ID> \
       --reschedule-type immediate
    

    You can get the cluster name and ID with the list of clusters in the folder.

You can run a scheduled maintenance job immediately using one of these methods:

  • Cluster.RescheduleMaintenance
  • Maintenance.Reschedule

To run a scheduled maintenance job immediately using the Cluster.RescheduleMaintenance method:

  1. Get an IAM token for API authentication and put it into an environment variable:

    export IAM_TOKEN="<IAM_token>"
    
  2. Call the Cluster.RescheduleMaintenance method, e.g., via the following cURL request:

    curl \
      --request POST \
      --header "Authorization: Bearer $IAM_TOKEN" \
      --header "Content-Type: application/json" \
      --url 'https://mdb.api.cloud.yandex.net/managed-mysql/v1/clusters/<cluster_ID>:rescheduleMaintenance' \
      --data '{
                "rescheduleType": "IMMEDIATE"
              }'
    

    You can get the cluster ID with the list of clusters in the folder.

  3. Check the server response to make sure your request was successful.

To run a scheduled maintenance job immediately using the Maintenance.Reschedule method:

  1. Get an IAM token for API authentication and put it into an environment variable:

    export IAM_TOKEN="<IAM_token>"
    
  2. Call the Maintenance.Reschedule method, e.g., via the following cURL request:

    curl \
      --request POST \
      --header "Authorization: Bearer $IAM_TOKEN" \
      --header "Content-Type: application/json" \
      --url 'https://mdb.api.cloud.yandex.net/managed-mysql/v1/maintenances/<maintenance_job_ID>:reschedule' \
      --data '{
                "rescheduleType": "IMMEDIATE"
              }'
    

    You can get the maintenance job ID with the list of maintenance jobs.

  3. Check the server response to make sure your request was successful.

You can run a scheduled maintenance job immediately using one of these calls:

  • ClusterService.RescheduleMaintenance
  • MaintenanceService.Reschedule

To run a scheduled maintenance job immediately using the ClusterService.RescheduleMaintenance call:

  1. Get an IAM token for API authentication and put it into an environment variable:

    export IAM_TOKEN="<IAM_token>"
    
  2. Clone the cloudapi repository:

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

    Below, we assume that the repository contents reside in the ~/cloudapi/ directory.

  3. Call the ClusterService.RescheduleMaintenance method, e.g., via the following gRPCurl request:

    grpcurl \
      -format json \
      -import-path ~/cloudapi/ \
      -import-path ~/cloudapi/third_party/googleapis/ \
      -proto ~/cloudapi/yandex/cloud/mdb/mysql/v1/cluster_service.proto \
      -rpc-header "Authorization: Bearer $IAM_TOKEN" \
      -d '{
            "cluster_id": "<cluster_ID>",
            "reschedule_type": "IMMEDIATE"
          }' \
      mdb.api.cloud.yandex.net:443 \
      yandex.cloud.mdb.mysql.v1.ClusterService.RescheduleMaintenance
    

    You can get the cluster ID with the list of clusters in the folder.

  4. Check the server response to make sure your request was successful.

To run a scheduled maintenance job immediately using the MaintenanceService.Reschedule call:

  1. Get an IAM token for API authentication and put it into an environment variable:

    export IAM_TOKEN="<IAM_token>"
    
  2. Clone the cloudapi repository:

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

    Below, we assume that the repository contents reside in the ~/cloudapi/ directory.

  3. Call the MaintenanceService.Reschedule method, e.g., via the following gRPCurl request:

    grpcurl \
      -format json \
      -import-path ~/cloudapi/ \
      -import-path ~/cloudapi/third_party/googleapis/ \
      -proto ~/cloudapi/yandex/cloud/mdb/mysql/v1/maintenance_service.proto \
      -rpc-header "Authorization: Bearer $IAM_TOKEN" \
      -d '{
            "maintenance_id": "<maintenance_job_ID>",
            "reschedule_type": "IMMEDIATE"
          }' \
      mdb.api.cloud.yandex.net:443 \
      yandex.cloud.mdb.mysql.v1.MaintenanceService.Reschedule
    

    You can get the maintenance job ID with the list of maintenance jobs.

  4. Check the server response to make sure your request was successful.

Configuring a maintenance windowConfiguring a maintenance window

Management console
CLI
Terraform
REST API
gRPC API
  1. In the management console, select the folder containing the cluster.

  2. Navigate to Managed Service for MySQL.

  3. Select your cluster and open the Maintenance tab.

  4. Click Configure the maintenance window in the top-right corner of the page.

  5. Set up the maintenance time for your cluster:

    • To allow maintenance at any time, select At any time (default).
    • To specify the preferred maintenance start time, select By schedule and specify the day of the week and the UTC time interval. For example, you can choose the cluster's least busy time.

    Both active and stopped clusters are subject to maintenance operations. Maintenance operations may include DBMS version upgrades, patches, etc.

  6. Click Save.

If you do not have the Yandex Cloud CLI yet, install and initialize it.

The folder used by default is the one specified when creating the CLI profile. To change the default folder, use the yc config set folder-id <folder_ID> command. You can also specify a different folder for any command using --folder-name or --folder-id.

If you access a resource by its name, the search will be limited to the default folder. If you access a resource by its ID, the search will be global, i.e., through all folders based on access permissions.

To configure a maintenance window:

  1. See the description of the CLI command for updating cluster settings:

    yc managed-mysql cluster update --help
    
  2. Run this command to configure the maintenance window:

    yc managed-mysql cluster update <cluster_name_or_ID> \
       --maintenance-window type=<maintenance_type>,`
                           `day=<day_of_week>,`
                           `hour=<sequence_number_of_hour_interval>
    

    Where:

    • <cluster_name_or_ID>: Cluster name or ID which you can get with the list of clusters in the folder.

    • --maintenance-window: Maintenance window settings that apply to both running and stopped clusters. The type setting defines the maintenance type:

      • anytime: Any time (default).

      • weekly: On a schedule. For this value, also specify the following:

        • day: Day of week, i.e., MON, TUE, WED, THU, FRI, SAT, or SUN.

        • hour: UTC hour interval, from 1 to 24.

          For example, 1 stands for the interval from 00:00 to 01:00, and 5, from 04:00 to 05:00.

  1. Open the current Terraform configuration file with the infrastructure plan.

    To learn how to create this file, refer to Creating a MySQL® cluster.

  2. To set up the maintenance window that will also apply to stopped clusters, add the maintenance_window section to the cluster description:

    resource "yandex_mdb_mysql_cluster" "<cluster_name>" {
      ...
      maintenance_window {
        type = "<maintenance_type>"
        day  = "<day_of_week>"
        hour = <sequence_number_of_hour_interval>
      }
      ...
    }
    

    Where:

    • type: Maintenance type. The possible values include:

      • ANYTIME: Any time (default).
      • WEEKLY: On a schedule.
    • day: Day of week for the WEEKLY type, i.e., MON, TUE, WED, THU, FRI, SAT, or SUN.

    • hour: Sequence number of UTC hour interval for the WEEKLY type, from 1 to 24.

      For example, 1 stands for the interval from 00:00 to 01:00, and 5, from 04:00 to 05:00.

    For more information about the yandex_mdb_mysql_cluster resource, see this Terraform provider guide.

  3. Make sure the settings are correct.

    1. In the command line, navigate to the directory that contains the current Terraform configuration files defining the infrastructure.

    2. Run this command:

      terraform validate
      

      Terraform will show any errors found in your configuration files.

  4. Confirm updating the resources.

    1. Run this command to view the intended changes:

      terraform plan
      

      If you described the configuration correctly, the terminal will display a list of the resources to update and their parameters. This is a verification step that does not apply changes to your resources.

    2. If everything looks correct, apply the changes:

      1. Run this command:

        terraform apply
        
      2. Confirm updating the resources.

      3. Wait for the operation to complete.

    Timeouts

    The Terraform provider sets the following timeouts for Managed Service for MySQL® cluster operations:

    • Creating a cluster, including by restoring it from a backup: 15 minutes.
    • Updating a cluster, including the MySQL® version update: 60 minutes.
    • Deleting a cluster: 15 minutes.

    Operations exceeding the timeout are aborted.

    How do I change these limits?

    Add the timeouts section to the cluster description, such as the following:

    resource "yandex_mdb_mysql_cluster" "<cluster_name>" {
      ...
      timeouts {
        create = "1h30m" # 1 hour 30 minutes
        update = "2h"    # 2 hours
        delete = "30m"   # 30 minutes
      }
    }
    
  1. Get an IAM token for API authentication and put it into an environment variable:

    export IAM_TOKEN="<IAM_token>"
    
  2. Call the Cluster.Update method, e.g., via the following cURL request:

    curl \
      --request PATCH \
      --header "Authorization: Bearer $IAM_TOKEN" \
      --header "Content-Type: application/json" \
      --url 'https://mdb.api.cloud.yandex.net/managed-mysql/v1/clusters/<cluster_ID>' \
      --data '{
                "updateMask": "maintenanceWindow",
                "maintenanceWindow": {
                  "weeklyMaintenanceWindow": {
                    "day": "<day_of_week>",
                    "hour": "<sequence_number_of_hour_interval>"
                  }
                }
              }'
    

    Where:

    • <cluster_ID>: Cluster ID which you can get with the list of clusters in the folder.

    • updateMask: Comma-separated string of settings to update.

      In this example, only the maintenanceWindow setting is provided.

      Warning

      All settings of the cluster object you are modifying will be reset to their defaults unless explicitly provided in the request. To avoid this, list the settings you want to change in the updateMask parameter.

    • maintenanceWindow: Maintenance window settings (including for disabled clusters). Provide one of these parameters:

      • anytime: Maintenance takes place at any time. This is the default value.

      • weeklyMaintenanceWindow: Scheduled maintenance:

        • day: Day of week (MON, TUE, WED, THU, FRI, SAT, SUN).

        • hour: UTC hour interval, from 1 to 24.

          For example, 1 stands for the interval from 00:00 to 01:00, and 5, from 04:00 to 05:00.

  3. Check the server response to make sure your request was successful.

  1. Get an IAM token for API authentication and put it into an environment variable:

    export IAM_TOKEN="<IAM_token>"
    
  2. Clone the cloudapi repository:

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

    Below, we assume that the repository contents reside in the ~/cloudapi/ directory.

  3. Call the ClusterService.Update method, e.g., via the following gRPCurl request:

    grpcurl \
      -format json \
      -import-path ~/cloudapi/ \
      -import-path ~/cloudapi/third_party/googleapis/ \
      -proto ~/cloudapi/yandex/cloud/mdb/mysql/v1/cluster_service.proto \
      -rpc-header "Authorization: Bearer $IAM_TOKEN" \
      -d '{
            "cluster_id": "<cluster_ID>",
            "update_mask": {
              "paths": [
                "maintenance_window"
              ]
            },
            "maintenance_window": {
              "weekly_maintenance_window": {
                "day": "<day_of_week>",
                "hour": "<sequence_number_of_hour_interval>"
              }
            }
          }' \
      mdb.api.cloud.yandex.net:443 \
      yandex.cloud.mdb.mysql.v1.ClusterService.Update
    

    Where:

    • cluster_id: Cluster ID which you can get with the list of clusters in the folder.

    • update_mask: List of settings to update as an array of strings (paths[]).

      Format for listing settings
      "update_mask": {
        "paths": [
          "<setting_1>",
          "<setting_2>",
          ...
          "<setting_N>"
        ]
      }
      

      In this example, only the maintenance_window setting is provided.

      Warning

      All settings of the cluster object you are modifying will be reset to their defaults unless explicitly provided in the request. To avoid this, list the settings you want to change in the update_mask parameter.

    • maintenance_window: Maintenance window settings (including for disabled clusters). Provide one of these parameters:

      • anytime: Maintenance takes place at any time. This is the default value.

      • weeklyMaintenanceWindow: Scheduled maintenance:

        • day: Day of week (MON, TUE, WED, THU, FRI, SAT, SUN).

        • hour: UTC hour interval, from 1 to 24.

          For example, 1 stands for the interval from 00:00 to 01:00, and 5, from 04:00 to 05:00.

  4. Check the server response to make sure your request was successful.

Was the article helpful?

Previous
Managing cluster access
Next
MySQL® version update
© 2026 Direct Cursus Technology L.L.C.