reconstruire bases de données mysql et information_schema
reconstruire bases de données mysql et information_schema - SQL/NoSQL - Programmation
MarshPosté le 03-09-2011 à 21:32:12
Salut à tous, Suite à un problème sur mon serveur, j'ai du remettre une sauvegarde de SQL sur celui-ci. Cette sauvegarde était un précedent dump de toutes les bases, que j'ai incorporé via phpmyadmin. Problème, il semble que les bases mysql et information_schema aient été également modifiées, ce qui provoque de nombreuses erreurs. Au lancement:
Citation :
Sep 3 20:03:09 debiandell /etc/mysql/debian-start[1382]: Upgrading MySQL tables if necessary. Sep 3 20:03:09 debiandell /etc/mysql/debian-start[1386]: /usr/bin/mysql_upgrade: the '--basedir' option is always ignored Sep 3 20:03:09 debiandell /etc/mysql/debian-start[1386]: Looking for 'mysql' as: /usr/bin/mysql Sep 3 20:03:09 debiandell /etc/mysql/debian-start[1386]: Looking for 'mysqlcheck' as: /usr/bin/mysqlcheck Sep 3 20:03:09 debiandell /etc/mysql/debian-start[1386]: Running 'mysqlcheck' with connection arguments: '--port=3306' '--socket=/var/run/mysqld/mysqld.sock' '--host=localhost' '--socket=/var/run/mysqld/mysqld.sock' '--host=localhost' '--socket=/var/run/mysqld/mysqld.sock' Sep 3 20:03:09 debiandell /etc/mysql/debian-start[1386]: /usr/bin/mysqlcheck: Got error: 1045: Access denied for user 'debian-sys-maint'@'localhost' (using password: YES) when trying to connect Sep 3 20:03:09 debiandell /etc/mysql/debian-start[1386]: FATAL ERROR: Upgrade failed Sep 3 20:03:09 debiandell /etc/mysql/debian-start[1400]: Checking for insecure root accounts.
Et dans phpmyadmin, certains accès sont impossibles, comme par exemple la liste des privilèges sur une certaine base:
Citation :
requête SQL: DocumentationModifier
(SELECT `User`, `Host`, `Select_priv`, `Insert_priv`, `Update_priv`, `Delete_priv`, `Create_priv`, `Drop_priv`, `Grant_priv`, `Index_priv`, `Alter_priv`, `References_priv`, `Create_tmp_table_priv`, `Lock_tables_priv`, `Create_view_priv`, `Show_view_priv`, `Create_routine_priv`, `Alter_routine_priv`, `Execute_priv`, `Event_priv`, `Trigger_priv`, `Db` FROM `mysql`.`db` WHERE 'cacti' LIKE `Db` AND NOT (`Select_priv` = 'N' AND `Insert_priv` = 'N' AND `Update_priv` = 'N' AND `Delete_priv` = 'N' AND `Create_priv` = 'N' AND `Drop_priv` = 'N' AND `Grant_priv` = 'N' AND `References_priv` = 'N' AND `Create_tmp_table_priv` = 'N' AND `Lock_tables_priv` = 'N' AND `Create_view_priv` = 'N' AND `Show_view_priv` = 'N' AND `Create_routine_priv` = 'N' AND `Alter_routine_priv` = 'N' AND `Execute_priv` = 'N' AND `Event_priv` = 'N' AND `Trigger_priv` = 'N')) UNION (SELECT `User`, `Host`, `Select_priv`, `Insert_priv`, `Update_priv`, `Delete_priv`, `Create_priv`, `Drop_priv`, `Grant_priv`, `Index_priv`, `Alte[...]
MySQL a répondu: Documentation #1054 - Unknown column 'Event_priv' in 'field list'
J'aimerai donc reconstruire ces tables afin de retrouver une base saine. Je peux recréer facilement les users si il faut, par contre je dois absolument conserver le contenu des bases. j'ai une dizaine de bases, et environ dix utilisateurs associés.
Connaissez-vous un procédé pour y parvenir ? Merci d'avance
Message édité par dup-carray le 04-09-2011 à 19:57:27
Marsh Posté le 03-09-2011 à 21:32:12
Salut à tous,
Suite à un problème sur mon serveur, j'ai du remettre une sauvegarde de SQL sur celui-ci. Cette sauvegarde était un précedent dump de toutes les bases, que j'ai incorporé via phpmyadmin.
Problème, il semble que les bases mysql et information_schema aient été également modifiées, ce qui provoque de nombreuses erreurs.
Au lancement:
Sep 3 20:03:09 debiandell /etc/mysql/debian-start[1382]: Upgrading MySQL tables if necessary.
Sep 3 20:03:09 debiandell /etc/mysql/debian-start[1386]: /usr/bin/mysql_upgrade: the '--basedir' option is always ignored
Sep 3 20:03:09 debiandell /etc/mysql/debian-start[1386]: Looking for 'mysql' as: /usr/bin/mysql
Sep 3 20:03:09 debiandell /etc/mysql/debian-start[1386]: Looking for 'mysqlcheck' as: /usr/bin/mysqlcheck
Sep 3 20:03:09 debiandell /etc/mysql/debian-start[1386]: Running 'mysqlcheck' with connection arguments: '--port=3306' '--socket=/var/run/mysqld/mysqld.sock' '--host=localhost' '--socket=/var/run/mysqld/mysqld.sock' '--host=localhost' '--socket=/var/run/mysqld/mysqld.sock'
Sep 3 20:03:09 debiandell /etc/mysql/debian-start[1386]: /usr/bin/mysqlcheck: Got error: 1045: Access denied for user 'debian-sys-maint'@'localhost' (using password: YES) when trying to connect
Sep 3 20:03:09 debiandell /etc/mysql/debian-start[1386]: FATAL ERROR: Upgrade failed
Sep 3 20:03:09 debiandell /etc/mysql/debian-start[1400]: Checking for insecure root accounts.
Et dans phpmyadmin, certains accès sont impossibles, comme par exemple la liste des privilèges sur une certaine base:
requête SQL: DocumentationModifier
(SELECT `User`, `Host`, `Select_priv`, `Insert_priv`, `Update_priv`, `Delete_priv`, `Create_priv`, `Drop_priv`, `Grant_priv`, `Index_priv`, `Alter_priv`, `References_priv`, `Create_tmp_table_priv`, `Lock_tables_priv`, `Create_view_priv`, `Show_view_priv`, `Create_routine_priv`, `Alter_routine_priv`, `Execute_priv`, `Event_priv`, `Trigger_priv`, `Db` FROM `mysql`.`db` WHERE 'cacti' LIKE `Db` AND NOT (`Select_priv` = 'N' AND `Insert_priv` = 'N' AND `Update_priv` = 'N' AND `Delete_priv` = 'N' AND `Create_priv` = 'N' AND `Drop_priv` = 'N' AND `Grant_priv` = 'N' AND `References_priv` = 'N' AND `Create_tmp_table_priv` = 'N' AND `Lock_tables_priv` = 'N' AND `Create_view_priv` = 'N' AND `Show_view_priv` = 'N' AND `Create_routine_priv` = 'N' AND `Alter_routine_priv` = 'N' AND `Execute_priv` = 'N' AND `Event_priv` = 'N' AND `Trigger_priv` = 'N')) UNION (SELECT `User`, `Host`, `Select_priv`, `Insert_priv`, `Update_priv`, `Delete_priv`, `Create_priv`, `Drop_priv`, `Grant_priv`, `Index_priv`, `Alte[...]
MySQL a répondu: Documentation
#1054 - Unknown column 'Event_priv' in 'field list'
J'aimerai donc reconstruire ces tables afin de retrouver une base saine. Je peux recréer facilement les users si il faut, par contre je dois absolument conserver le contenu des bases. j'ai une dizaine de bases, et environ dix utilisateurs associés.
Connaissez-vous un procédé pour y parvenir ? Merci d'avance
Message édité par dup-carray le 04-09-2011 à 19:57:27