Битрикс. 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

С этой проблемой столкнулся и на CentOS 7 и на CentOS 9 при использовании окружения Битрикс после обновления до MySQL 8. Также был момент, когда мы имеем CentOS 9 с MySQL 8, затем обновляем Битрикс до последней версии и все, прилетает эта ошибка.

В решении ничего великого нет, просто несколько шагов. Подключаемся по SSH к своему серверу и выполняем следующие действия:

		
		# mysql -u root -p	
	

Вводим пароль и попадаем в консоль MySQL, далее:

		
		> GRANT SESSION_VARIABLES_ADMIN ON *.* TO 'bitrix0' @ 'localhost';
> FLUSH PRIVILEGES;
> exit	
	

Все, можно обновлять страницу веб-сайта.

Другой вариант: У вас обычный хостинг, где нет доступа к консоли MySQL.

Эта ошибка возникает, так как параметр innodb_strict_mode в MySQL 8 установлен в 0 по умолчанию, а для смены требует права администратора, которые на виртуальном хостинге не предоставляются.

Здесь просто нужно поправить файл /bitrix/php_interface/after_connect_d7.php. Точнее просто удалить строку:

		
		$this->queryExecute("SET innodb_strict_mode=0");	
	

Вот и все.

Количество просмотров: 24


Понравилась статья?

Возврат к списку