FAQ:PB DEFINER MySQL MARIADB : Différence entre versions
(Page créée avec « Requête de génération de l'ordre (à adapter au besoin) : SELECT CONCAT("ALTER DEFINER='dbsqware_user'@'localhost' VIEW ", table_name, " AS ", view_definition, ";") F... ») |
m (→Problème de DEFINER) |
||
(10 révisions intermédiaires par le même utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
+ | ==Généralités== | ||
+ | ===Limites de cette section=== | ||
+ | Cette section permet d'avoir quelques MODOP pour corriger des problématiques "courantes".<br> | ||
+ | Reportez-vous toujours à la documentation officielle de l'éditeur et, ou de la version de votre moteur si vous avez le moindre doute.<br> | ||
+ | |||
+ | ===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=== | ||
+ | <br> | ||
+ | {{information|Ce problème est corriger avec la version 2025.01}} | ||
+ | |||
+ | 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 : | ||
+ | <pre> | ||
+ | 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) | ||
+ | </pre> | ||
Requête de génération de l'ordre (à adapter au besoin) : | Requête de génération de l'ordre (à adapter au besoin) : | ||
+ | <pre> | ||
+ | dbsqware@vmsqwarebox | ||
+ | |||
SELECT CONCAT("ALTER DEFINER='dbsqware_user'@'localhost' VIEW ", table_name, " AS ", view_definition, ";") FROM information_schema.views WHERE table_schema='dbsqware_db'; | SELECT CONCAT("ALTER DEFINER='dbsqware_user'@'localhost' VIEW ", table_name, " AS ", view_definition, ";") FROM information_schema.views WHERE table_schema='dbsqware_db'; | ||
− | + | </pre> | |
− | + | Vous allez avoir de nombreuses requêtes telles que : | |
− | ALTER DEFINER='dbsqware_user'@'localhost' VIEW | + | <pre> |
+ | 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`; | ||
+ | </pre> | ||
+ | Il ne reste plus qu'à copier et exécuter celles qui sont concernées. |
Version actuelle datée du 18 février 2025 à 12:07
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.