Ошибка: Mysql query error: (1227) Access denied...

Ошибка и её причины

При добавлении сайта через BitrixVM вы можете столкнуться с ошибкой:

Mysql query error: (1227) Access denied; you need (at least one of) the SYSTEM_VARIABLES_ADMIN or SESSION_VARIABLES_ADMIN privilege(s) for this operation

Эта ошибка возникает, когда пользователь базы данных пытается изменить системные переменные MySQL (например, innodb_strict_mode), но не имеет необходимых привилегий.

Решение 1: Предоставление необходимых прав

  1. Подключитесь к серверу по SSH под пользователем root или под пользователем имеющего доступ к утилите sudo
  2. Войдите в консоль MySQL:
    mysql
    или
    sudo mysql
  3. Выполните команду для предоставления прав (замените {user} на имя вашего пользователя MySQL):
    GRANT SESSION_VARIABLES_ADMIN ON *.* TO '{user}'@'localhost';
    FLUSH PRIVILEGES;

Как найти имя пользователя MySQL?

Имя пользователя можно найти в файле конфигурации вашего сайта, например:

  • В файле /bitrix/.settings.php в ключе 'connections' -> 'login'
  • Или в файле /bitrix/php_interface/dbconn.php в переменной $DBLogin

Решение 2: Отключение изменения innodb_strict_mode

Если вы не можете получить права SESSION_VARIABLES_ADMIN, можно отключить попытку изменения параметра:

  1. Откройте файл /bitrix/php_interface/after_connect_d7.php
  2. Найдите строку:
    $this->queryExecute("SET innodb_strict_mode=0");
  3. Закомментируйте её:
    // $this->queryExecute("SET innodb_strict_mode=0");

Альтернативное решение

Если ошибка сохраняется после этих действий, обратитесь в техническую поддержку вашего хостинга с запросом:

  1. Предоставить пользователю MySQL привилегии SESSION_VARIABLES_ADMIN
  2. Или изменить параметр innodb_strict_mode глобально на сервере

© 2026 MB

Desing by mb4design