FAQ:PB DEFINER MySQL MARIADB
Sommaire
[masquer]Généralités
Limites de cette section
Cette section permet d'avoir quelques MODOP pour corriger des problématiques "courantes".
Reportez-vous toujours à la documentation officielle de l'éditeur et, ou de la version de votre moteur si vous avez le moindre doute.
Droits
On part du principe que vous avez les droits systèmes et sur la base ou instance si nécessaire !
Versions antérieures à la 2025.01
Problème de DEFINER
Il peut arriver que vous rencontriez dans une erreur lors du check des indicateurs pour les sauvegardes MySQL ou MariaDB, plusieurs bases apparaissent non sauvegardées.
Vous verrez dans les logs une erreur de DEFINER :
mysqldump: Couldn't execute 'SHOW FIELDS FROM `v_name_view`': View 'owner.v_name_view' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them (1356)
Requête de génération de l'ordre (à adapter au besoin) :
dbsqware@vmsqwarebox SELECT CONCAT("ALTER DEFINER='dbsqware_user'@'localhost' VIEW ", table_name, " AS ", view_definition, ";") FROM information_schema.views WHERE table_schema='dbsqware_db';
Vous allez avoir de nombreuses requêtes telles que :
ALTER DEFINER='dbsqware_user'@'localhost' VIEW vsqw_TargetsTotal AS select 'Total' AS `rdbmstype`,sum(`vsqw_TargetsDetail`.`nb_target`) AS `nb_target`,sum(`vsqw_TargetsDetail`.`nb_lic`) AS `nb_lic` from `dbsqware_db`.`vsqw_TargetsDetail`;
Il ne reste plus qu'à copier et exécuter celles qui sont concernées.