Истории успеха наших клиентов — лучшие проекты
Вход / Регистрация
На главную
25eb9e0a-a5a8-472a-ace7-940b8bd2adf0
Облачные сервисы

MySQL

MySQL — это система управления базами данных, используемая для хранения и обработки структурированных данных. В DBaaS вы получаете управляемую СУБД без необходимости ручной настройки — все происходит автоматически.

При создании кластера можно выбрать версию MySQL: 8.0 или 8.4.

Создание баз

При создании нового кластера автоматически создается база с именем default_db. Дополнительные базы можно создавать во вкладке «Базы данных» в интерфейсе.

Image7

Импорт базы данных

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

Scr 20251110 Muvn

В открывшемся окне укажите данные для подключения к импортируемой базе данных.

Scr 20251110 Mvfy

Для запуска импорта нажмите кнопку «Начать импорт». Статус импорта будет отображаться для базы в разделе «Базы данных».

Во время импорта операции с базами данных не блокируются.

Требования и ограничения

  • Сетевой доступ: исходная база данных должна быть доступна для подключения из подсети 92.53.116.0/24. Без этого импорт не начнется.
  • Уникальность имени: в целевом кластере не должно существовать базы данных с таким же (идентичным) именем.

Что будет перенесено:

  • структура таблиц;
  • данные в таблицах.

Что не будет перенесено:

  • пользователи.

Перед началом импорта рекомендуется временно снизить значение параметра innodb_buffer_pool_size до 50 % от объема оперативной памяти, выделенной базе данных.

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

Пользователи и привилегии

Пользователей можно создавать на вкладке «Пользователи». Для этого нажмите кнопку «Добавить».

Image6

В открывшемся окне задайте имя пользователя и пароль:

  • Имя: от 3 до 32 символов, допускаются латинские буквы, цифры и спецсимволы.
  • Пароль: от 8 до 30 символов, допускаются латинские буквы, цифры и спецсимволы.

При необходимости настройте привилегии для пользователя.

Привилегии также можно изменить после создания пользователя. Для этого перейдите во вкладку «Пользователи», нажмите на три точки рядом с нужным пользователем и выберите пункт «Привилегии».

Image4

В окне настройки выберите нужные привилегии. Можно задать права как на конкретную базу, так и на все базы сразу, включив опцию «Одинаковые для всех баз».

Image1

Доступные привилегии

Привилегия

Назначение

USAGE

Базовая привилегия — разрешает вход в систему без доступа к объектам.

SELECT

Чтение данных из таблиц и представлений.

INSERT

Добавление новых записей.

UPDATE

Изменение существующих записей.

DELETE

Удаление записей.

CREATE

Создание новых таблиц, индексов и других объектов.

DROP

Удаление объектов, таких как таблицы или базы данных.

REFERENCES

Использование внешних ключей.

INDEX

Создание и удаление индексов.

ALTER

Изменение структуры существующих таблиц.

LOCK TABLES

Использование ручной блокировки таблиц.

CREATE VIEW

Создание представлений (views).

SHOW VIEW

Просмотр структуры существующих представлений.

CREATE ROUTINE

Создание хранимых процедур и функций.

ALTER ROUTINE

Изменение хранимых процедур и функций.

EVENT

Создание и управление событиями (EVENT SCHEDULER).

TRIGGER

Создание и удаление триггеров.

SELECT на slow_log

Доступ к чтению системной таблицы медленных запросов.

DROP на slow_log

Возможность очистки содержимого таблицы slow_log.

CREATE_USER

Создание, изменение, удаление и переименование пользователей.

PROCESS

Просмотр всех активных запросов (SHOW PROCESSLIST) и диагностика работы сервера.

CREATE_DB

Создание новых баз данных и объектов верхнего уровня (таблиц, индексов и др.).

Настройка параметров

Вы можете изменить параметры, используемые для MySQL, перейдя во вкладку «Конфигурация» и нажав на кнопку «Изменить параметры» в строке «Параметры базы данных».

Доступные параметры зависят от версии MySQL:

MySQL 8.0

Список доступных параметров (нажмите, чтобы развернуть)

Параметр

Допустимые значения

Значение по умолчанию

auto_increment_increment

От 1 до 65535

1

auto_increment_offset

От 1 до 65535

1

innodb_io_capacity

От 100 до 4294967295

1500

innodb_purge_threads

От 1 до 32

4

innodb_read_io_threads

От 1 до 64

4

innodb_thread_concurrency

От 0 до 1000

0

innodb_write_io_threads

От 1 до 64

4

innodb_log_file_size

От 4194304 до 274877906944

214748365

join_buffer_size

От 128 до 18446744073709551488

67108864

max_allowed_packet

От 1024 до 1073741824

16777216

max_heap_table_size

От 16384 до 18446744073709550592

16777216

max_connections

От 1 до 100000

49

sql_mode

Значения через пробел

sort_buffer_size

От 32768 до 18446744073709551615

14680064

thread_cache_size

От 0 до 16384

128

innodb_flush_log_at_trx_commit

От 0 до 2

1

transaction_isolation

read-uncommitted

long_query_time

От 0 до 31536000

10

tmp_table_size

От 1024 до 18446744073709551615

16777216

table_open_cache

От 1 до 524288

4970

table_open_cache_instances

От 1 до 64

16

innodb_flush_method

O_DSYNC

innodb_strict_mode

Включена/Выключена

Включена

slow_query_log

Включена/Выключена

Включена

binlog_cache_size

От 4096 до 18446744073709547520

32768

binlog_group_commit_sync_delay

От 1 до 1000000

1

binlog_row_image

full

binlog_rows_query_log_events

Включена/Выключена

Выключена

character_set_server

utf8

explicit_defaults_for_timestamp

Включена/Выключена

Включена

group_concat_max_len

От 4 до 18446744073709551615

1024

innodb_adaptive_hash_index

Включена/Выключена

Включена

innodb_lock_wait_timeout

От 1 до 1073741824

50

innodb_numa_interleave

Включена/Выключена

Выключена

net_read_timeout

От 1 до 31536000

30

net_write_timeout

От 1 до 31536000

1

regexp_time_limit

От 0 до 2147483647

32

sync_binlog

От 0 до 4294967295

1

table_definition_cache

От 400 до 524288

2000

log_bin_trust_function_creators

Включена/Выключена

Включена

skip_name_resolve

Включена/Выключена

Выключена

innodb_buffer_pool_size

От 5242880 до 18446744073709551615

858993459

wait_timeout

От 1 до 31536000

28800

interactive_timeout

От 1 до 31536000

28800

default-time-zone

От -13:59 до +14:00

MySQL 8.4

Список доступных параметров (нажмите, чтобы развернуть)

Параметр

Допустимые значения

Значение по умолчанию

auto_increment_increment

От 1 до 65535

1

auto_increment_offset

От 1 до 65535

1

innodb_io_capacity

От 100 до 4294967295

1500

innodb_purge_threads

От 1 до 32

4

innodb_read_io_threads

От 1 до 64

4

innodb_thread_concurrency

От 0 до 1000

0

innodb_write_io_threads

От 1 до 64

4

innodb_log_file_size

От 4194304 до 274877906944

214748365

join_buffer_size

От 128 до 18446744073709551488

67108864

max_allowed_packet

От 1024 до 1073741824

16777216

max_heap_table_size

От 16384 до 18446744073709550592

16777216

max_connections

От 1 до 100000

49

sql_mode

Значения через пробел

sort_buffer_size

От 32768 до 18446744073709551615

14680064

thread_cache_size

От 0 до 16384

128

innodb_flush_log_at_trx_commit

От 0 до 2

1

transaction_isolation

read-uncommitted

long_query_time

От 0 до 31536000

10

tmp_table_size

От 1024 до 18446744073709551615

16777216

table_open_cache

От 1 до 524288

4970

table_open_cache_instances

От 1 до 64

16

innodb_flush_method

O_DSYNC

innodb_strict_mode

Включена/Выключена

Включена

slow_query_log

Включена/Выключена

Включена

binlog_cache_size

От 4096 до 18446744073709547520

32768

binlog_group_commit_sync_delay

От 1 до 1000000

1

binlog_row_image

full

binlog_rows_query_log_events

Включена/Выключена

Выключена

character_set_server

utf8

explicit_defaults_for_timestamp

Включена/Выключена

Включена

group_concat_max_len

От 4 до 18446744073709551615

1024

innodb_adaptive_hash_index

Включена/Выключена

Включена

innodb_lock_wait_timeout

От 1 до 1073741824

50

innodb_numa_interleave

Включена/Выключена

Выключена

net_read_timeout

От 1 до 31536000

30

net_write_timeout

От 1 до 31536000

1

regexp_time_limit

От 0 до 2147483647

32

sync_binlog

От 0 до 4294967295

1

table_definition_cache

От 400 до 524288

2000

log_bin_trust_function_creators

Включена/Выключена

Включена

skip_name_resolve

Включена/Выключена

Выключена

innodb_redo_log_capacity

От 8388608 до 137438953472

104857600

innodb_buffer_pool_size

От 5242880 до 18446744073709551615

858993459

wait_timeout

От 1 до 31536000

28800

interactive_timeout

От 1 до 31536000

28800

default-time-zone

От -13:59 до +14:00

Для получения дополнительной информации о параметрах нажмите кнопку «Открыть описание» рядом с нужным параметром.

Selection 320

Чтобы применить изменения, нажмите кнопку «Применить» внизу страницы.

Подключение к базе

Подключиться к базе можно через встроенные веб-интерфейсы — Adminer или phpMyAdmin. Для этого нажмите кнопку «Веб-интерфейс» и выберите нужный вариант.

Image3

Подключение из терминала

Установите клиент MySQL:

Ubuntu

sudo apt install mysql-client

Debian

sudo apt install mariadb-client

Arch

sudo pacman -S percona-server-clients

Fedora

sudo dnf install mysql

Существует три способа подключения к кластеру MySQL:

  • по публичному IP;
  • по приватному IP;
  • по домену.

Команду подключения можно скопировать:

  • на вкладке «Дашборд»;

Fc259f2f 0933 4d14 Bbf5 1aa55b11fc37

  • на вкладке «Подключение».

Scr 20250807 Qcjj

Если в качестве клиента вы используете MariaDB версии 10.10 или выше, для подключения к кластеру используйте ключ --skip_ssl.

При подключении по домену используется защищенное подключение по TLS. В новых кластерах оно включено по умолчанию, в старых — требуется включение вручную. 

Чтобы включить TLS:

  1. Перейдите во вкладку «Подключение».
  2. Нажмите кнопку «Включить защищенное подключение».
  3. Дождитесь завершения настройки.

Scr 20250807 Pzlg

После включения TLS для подключения потребуется установить сертификат.

Готовые команды для установки доступны в панели управления, во вкладке «Подключение», для всех популярных операционных систем.

Scr 20250807 Qbnt

Чтобы отключить TLS, нажмите кнопку «Выключить защищенное подключение». В появившейся форме подтвердите действие и дождитесь завершения перенастройки базы.

Scr 20251024 Ngln

Создание дампа

Для создания дампа используйте следующую команду:

mysqldump --set-gtid-purged=off -y -u gen_user -p'password' -h ip_dbaas default_db | gzip > default_db.sql.gz

--set-gtid-purged=off — исключает команду SET @@GLOBAL.GTID_PURGED, которая может вызвать ошибку при недостаточных привилегиях.

-y (--no-tablespaces) — исключает табличные пространства, без этого флага возможна ошибка при дампе.

Загрузка дампа

Для загрузки дампа выполните:

cat default_db.sql.gz | gzip -d | mysql -u gen_user -p'password' -h ip_dbaas default_db

Команда распаковывает дамп и передает его в клиент MySQL для выполнения.

Репликация

Для MySQL доступно создание кластера с репликацией. Количество реплик задается при создании: 3 или 5. Изменить это значение после создания невозможно. Стоимость рассчитывается по формуле: количество реплик * стоимость одной ноды.

В основе лежит кластерное решение на базе Percona XtraDB Cluster. Репликация работает по принципу multi-master — все узлы равноправны и способны одновременно принимать изменения. Синхронное выполнение операций обеспечивает консистентность данных. При сбое одного из узлов остальные продолжают обработку запросов, что гарантирует высокую доступность кластера.

Логи баз данных

Мы собираем и выводим в панель управления логи сервисов баз данных, которые они автоматически генерируют в стандартные файлы логов. Просмотреть их можно на вкладке «Логи».

614d92f2 B9e1 4848 B823 71bebbbd13cd

С помощью можно быстро отследить возможные ошибки и оперативно на них отреагировать — самостоятельно или обратившись в нашу поддержку.

Для MySQL мы выводим лог ошибок (Error Log), расположенный по пути /var/log/mysql/error.log.

Лог полезен для диагностики проблем с запуском сервера БД, критических сбоев и проблем с репликацией.

Лог содержит:

  • Сообщения о запуске и остановке сервера.

  • Критические ошибки в работе сервера и движков (например, InnoDB).

  • Сообщения о проблемах с репликацией.

В логах не выводится предупреждение о deprecated-аутентификации ("deprecated and will be removed in a future release. Please use caching_sha2_password instead"), так как оно не является критическим и лишь перегружает вывод.

Сценарии использования

Рассмотрим, как можно применять логи на практике. Для удобного поиска информации в логе его можно скачать в формате .txt.

1bff69b2 50e3 45f2 B33b 0e065b17d281

Кейс 1: Репликация данных отстает или ломается

Когда репликация начинает отставать или полностью ломается, необходимо определить транзакцию, вызвавшую сбой. Для этого анализируют бинарный лог (binlog) на мастер-сервере: он покажет последние выполненные запросов и позволит выявить тот, который не удается применить на реплике — например, из-за расхождения в данных. Такой анализ помогает восстановить репликацию и синхронность данных.

Кейс 2: Подозрение на попытку взлома базы данных

В этом случае важно подтвердить факт взлома и определить источник. Для этого изучают общий лог запросов (general_log) или аудит: они показывают все входящие запросы и IP-адреса, с которых они были отправлены, включая подозрительные операции. На основе этих данных можно оперативно заблокировать злоумышленника и усилить меры безопасности.

Была ли статья полезна?
Ваша оценка очень важна
Пока нет комментариев