Lors de l’import d’un backup (mysqldump) MySQL « custom », il est possible d’avoir les erreurs ci-dessous;
Erreur SESSION_VARIABLES_ADMIN
ERROR 1227 (42000) at line 18:
Access denied; you need (at least one of) the SUPER, SYSTEM_VARIABLES_ADMIN or SESSION_VARIABLES_ADMIN privilege(s) for this operation
est due à la commande SQL suivante dans le fichier d’import :
SET @@SESSION.SQL_LOG_BIN= 0;
Depuis MySQL 8.0.26+ et MariaDB 10.5+, cette variable ne peut être modifiée que par un utilisateur possédant un des privilèges suivants :
SUPER
(déprécié dans MySQL)SESSION_VARIABLES_ADMIN
SYSTEM_VARIABLES_ADMIN
How to fix:
Option 1 – Accorder le privilège à l’utilisateur (si possible)
Avec la fonction LayerOps de « template » de fichier, créer le fichier:
/docker-entrypoint-initdb.d/initialize.sql
avec comme contenu:
CREATE DATABASE IF NOT EXISTS database_name;
use database_name;
GRANT SESSION_VARIABLES_ADMIN ON *.* TO 'user_name'@'%';
FLUSH PRIVILEGES;
Option 2 – Supprimer ou commenter la ligne dans le fichier .sql
-- SET @@SESSION.SQL_LOG_BIN= 0;
Erreur SYSTEM_VARIABLES_ADMIN
ERROR 1227 (42000): Access denied; you need (at least one of) the SUPER or SYSTEM_VARIABLES_ADMIN privilege(s)
est due à la commande SQL suivante dans le fichier d’import :
SET @@GLOBAL.GTID_PURGED = '';
How to fix:
Option 1 – Accorder le privilège à l’utilisateur (si possible)
Avec la fonction LayerOps de « template » de fichier, créer le fichier:
/docker-entrypoint-initdb.d/initialize.sql
avec comme contenu:
CREATE DATABASE IF NOT EXISTS database_name;
use database_name;
GRANT SYSTEM_VARIABLES_ADMIN ON *.* TO 'user_name'@'%';
FLUSH PRIVILEGES;
Option 2 – Supprimer ou commenter la ligne dans le fichier .sql
-- SET @@GLOBAL.GTID_PURGED