19 октября 2026
ID 240816
Создание баз и учетных записей СУБД MySQL и MariaDB
Предварительные требования
Прежде чем создать базы данных и назначить права учетных записей СУБД, установите и настройте один из серверов в соответствии с требованиями оптимизации (если вы не выполнили это действие ранее):
- MariaDB x64 для работы с Kaspersky Security Center Linux
- MySQL x64 для работы с Kaspersky Security Center Linux
Не вносите вручную изменения в базу данных Сервера администрирования и базу данных IAM, включая изменение значений, удаление или добавление схем, таблиц, индексов. Любые изменения в базах данных, не выполненные самим Сервером администрирования, нарушают нормальную работу Сервера администрирования сразу или позже, например после обновления до более новой версии или при восстановлении из резервной копии. Изменение баз разрешено только в том случае, если вы получили точные инструкции от Службы технической поддержки "Лаборатории Касперского".
При деинсталляции или переносе Сервера на другое устройство вам нужно удалить базу данных вручную.
Чтобы настроить учетную запись СУБД для установки Сервера администрирования:
- Запустите среду для работы с MySQL или MariaDB под учетной записью root, которую вы создали при установке СУБД:
sudo mysql -u root -p - Создайте внутренние учетные записи СУБД с паролями. Приложение установки Сервера администрирования и службы Сервера администрирования используют эту внутреннюю учетную запись СУБД для доступа к СУБД.
Создайте учетную запись Сервера администрирования с именем
kscdbadminи укажите пароль в значении <password>:CREATE USER 'kscdbadmin' IDENTIFIED BY '<password>'; - Предоставьте следующие права созданной учетной записи СУБД:
- Схема привилегий:
- База данных Сервера администрирования: ALL (кроме GRANT OPTION).
- Схемы системы (mysql и sys): SELECT, SHOW VIEW.
- Хранимая процедура sys.table_exists: EXECUTE.
- Глобальные привилегии для всех схем: PROCESS, SUPER.
Чтобы предоставить необходимые права созданной учетной записи СУБД, запустите следующий скрипт:
GRANT USAGE ON *.* TO 'kscdbadmin';GRANT ALL ON kav.* TO 'kscdbadmin';GRANT SELECT, SHOW VIEW ON mysql.* TO 'kscdbadmin';GRANT SELECT, SHOW VIEW ON sys.* TO 'kscdbadmin';GRANT EXECUTE ON PROCEDURE sys.table_exists TO 'kscdbadmin';GRANT PROCESS ON *.* TO 'kscdbadmin';GRANT SUPER ON *.* TO 'kscdbadmin';Если вы используете MariaDB 10.5 или более раннюю версию в качестве СУБД, вам не нужно предоставлять право EXECUTE. В этом случае исключите из скрипта следующую команду:
GRANT EXECUTE ON PROCEDURE sys.table_exists TO 'kscdbadmin'. - Схема привилегий:
- Для просмотра списка привилегий, предоставленных учетной записи СУБД, выполните следующую команду:
SHOW grants for 'kscdbadmin'; - Создайте учетную запись сервера IAM с именем
iamdbadminи укажите пароль в значении <password>:CREATE USER 'iamdbadmin' IDENTIFIED BY '<password>';Если вы используете MySQL 8.0 или более раннюю версию в качестве СУБД, обратите внимание, что для этих версий аутентификация "Кеширование пароля SHA2" не поддерживается. Измените аутентификацию по умолчанию с "Кеширование пароля SHA2" на "Собственный пароль MySQL":
- Чтобы создать учетную запись СУБД, использующую "Собственный пароль MySQL", выполните следующую команду:
CREATE USER 'iamdbadmin'@'%' IDENTIFIED WITH mysql_native_password BY '<пароль>'; - Чтобы изменить аутентификацию для существующей учетной записи СУБД, выполните следующую команду:
ALTER USER 'iamdbadmin'@'%' IDENTIFIED WITH mysql_native_password BY '<пароль>';
- Чтобы создать учетную запись СУБД, использующую "Собственный пароль MySQL", выполните следующую команду:
- Предоставьте следующие права созданной учетной записи СУБД:
- Схема привилегий:
- База данных Сервера администрирования: ALL (кроме GRANT OPTION).
- Схемы системы (mysql и sys): SELECT, SHOW VIEW.
- Хранимая процедура sys.table_exists: EXECUTE.
- Глобальные привилегии для всех схем: PROCESS, SUPER.
Чтобы предоставить необходимые права созданной учетной записи СУБД, запустите следующий скрипт:
GRANT USAGE ON *.* TO 'iamdbadmin';GRANT ALL ON iam.* TO 'iamdbadmin';GRANT SELECT, SHOW VIEW ON mysql.* TO 'iamdbadmin';GRANT SELECT, SHOW VIEW ON sys.* TO 'iamdbadmin';GRANT EXECUTE ON PROCEDURE sys.table_exists TO 'iamdbadmin';GRANT PROCESS ON *.* TO 'iamdbadmin';GRANT SUPER ON *.* TO 'iamdbadmin';Если вы используете MariaDB 10.5 или более раннюю версию в качестве СУБД, вам не нужно предоставлять право EXECUTE. В этом случае исключите из скрипта следующую команду:
GRANT EXECUTE ON PROCEDURE sys.table_exists TO 'iamdbadmin'. - Схема привилегий:
- Чтобы просмотреть список привилегий, предоставленных учетной записи СУБД, выполните следующую команду:
SHOW grants for 'iamdbadmin'; - Создайте базу данных Сервера администрирования, выполнив следующую команду (в этом примере имя базы данных Сервера администрирования – kav):
CREATE DATABASE kavИспользуйте то же имя базы данных, которое вы указали на шаге создания учетной записи СУБД.
- Создайте базу данных IAM (в этом примере имя базы данных IAM – iam):
CREATE DATABASE iam
Пример выполнения основных команд инструкции
administrator@ksclinux:~$ sudo mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.4.11-0ubuntu0.26.04.1 (Ubuntu)
Copyright (c) 2000, 2026, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> CREATE USER 'kscdbadmin' IDENTIFIED BY 'Your_P@$$w0rd';
Query OK, 0 rows affected (0.02 sec)
mysql> GRANT USAGE ON *.* TO 'kscdbadmin';
ON mysql.* TO 'kscdbadmin';
GRANT SELECT, SHOW VIEW ON sys.* TO 'kscdbadmin';
GRANT EXECUTE ON PROCEDURE sys.table_exists TO 'kscdbadmin';
GRANT PROCESS ON *.* TO 'kscdbadmin';
GRANT SUPER ON *.* TO 'kscdbadmQuery OK, 0 rows affected (0.00 sec)
mysql> GRANT ALL ON kav.* TO 'kscdbadmin';
Query OK, 0 rows affected (0.01 sec)
mysql> GRANT SELECT, SHOW VIEW ON mysql.* TO 'kscdbadmin';
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT SELECT, SHOW VIEW ON sys.* TO 'kscdbadmin';
Query OK, 0 rows affected (0.01 sec)
mysql> GRANT EXECUTE ON PROCEDURE sys.table_exists TO 'kscdbadmin';
in';
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT PROCESS ON *.* TO 'kscdbadmin';
Query OK, 0 rows affected (0.01 sec)
mysql> GRANT SUPER ON *.* TO 'kscdbadmin';
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> SHOW grants for 'kscdbadmin';
+---------------------------------------------------------------------+
| Grants for kscdbadmin@% |
+---------------------------------------------------------------------+
| GRANT PROCESS, SUPER ON *.* TO `kscdbadmin`@`%` |
| GRANT ALL PRIVILEGES ON `kav`.* TO `kscdbadmin`@`%` |
| GRANT SELECT, SHOW VIEW ON `mysql`.* TO `kscdbadmin`@`%` |
| GRANT SELECT, SHOW VIEW ON `sys`.* TO `kscdbadmin`@`%` |
| GRANT EXECUTE ON PROCEDURE `sys`.`table_exists` TO `kscdbadmin`@`%` |
+---------------------------------------------------------------------+
5 rows in set (0.00 sec)
mysql> CREATE USER 'iamdbadmin' IDENTIFIED BY 'Your_P@$$w0rd';
Query OK, 0 rows affected (0.02 sec)
mysql> GRANT USAGE ON *.* TO 'iamdbadmin';
'iamdbadmin';
GRANT SELECT, SHOW VIEW ON sys.* TO 'iamdbadmin';
GRANT EXECUTE ON PROCEDURE sys.table_exists TO 'iamdbadmin';
GRANT PROCESS ON *.* TO 'iamdbadmin';
GRANT SUPER ON *.* TO 'iamdbaQuery OK, 0 rows affected (0.01 sec)
mysql> GRANT ALL ON iam.* TO 'iamdbadmin';
Query OK, 0 rows affected (0.01 sec)
mysql> GRANT SELECT, SHOW VIEW ON mysql.* TO 'iamdbadmin';
dmin';
Query OK, 0 rows affected (0.01 sec)
mysql> GRANT SELECT, SHOW VIEW ON sys.* TO 'iamdbadmin';
Query OK, 0 rows affected (0.02 sec)
mysql> GRANT EXECUTE ON PROCEDURE sys.table_exists TO 'iamdbadmin';
Query OK, 0 rows affected (0.01 sec)
mysql> GRANT PROCESS ON *.* TO 'iamdbadmin';
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT SUPER ON *.* TO 'iamdbadmin';
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> SHOW grants for 'iamdbadmin';
+---------------------------------------------------------------------+
| Grants for iamdbadmin@% |
+---------------------------------------------------------------------+
| GRANT PROCESS, SUPER ON *.* TO `iamdbadmin`@`%` |
| GRANT ALL PRIVILEGES ON `iam`.* TO `iamdbadmin`@`%` |
| GRANT SELECT, SHOW VIEW ON `mysql`.* TO `iamdbadmin`@`%` |
| GRANT SELECT, SHOW VIEW ON `sys`.* TO `iamdbadmin`@`%` |
| GRANT EXECUTE ON PROCEDURE `sys`.`table_exists` TO `iamdbadmin`@`%` |
+---------------------------------------------------------------------+
5 rows in set (0.00 sec)
mysql> CREATE DATABASE kav;
Query OK, 1 row affected (0.01 sec)
mysql> CREATE DATABASE iam;
Query OK, 1 row affected (0.01 sec)
mysql> exit
Bye
administrator@ksclinux:~$