Ceci est une ancienne révision du document !
Cette page traitera principalement du système de gestion de base de données (SGBD) MySQL et, sous l'angle de celui-ci, de SQL dans le cadre de l'application EzGED.
Pour sauvegarder notre base de données nous allons réaliser un dump.
Ouvrez l'interpréteur de commandes et entrez la commande suivante :
mysqldump -u root -p nom_base > dump_base.sql
Si le répertoire des binaires de mysql n'est pas dans les variables d'environnement il faudra indiquer le chemin complet vers la commande. Par exemple:
C:\nchp\mysql\bin\mysqldump -u root -p nom_base > dump_base.sql
Où nom_base doit être remplacé par le nom de votre base de données (pour EzGED par défaut ce nom est nchp_ezged)
et dump_base.sql est le nom du fichier de sauvegarde (vous pourriez l'appeler autrement bien entendu).
Il est possible d'exporter uniquement certaines tables avec cette commande :
mysqldump -u root -p base table_1 table_2 ... table_n > dump_table.sql
mysql -u root -p nchp_ezged < dump_recepisse.sql
Réparation d'une table dans phpMyadmin ou dans l'invite mysql:
REPAIR TABLE <nom_de_la_table>
Réparation auto de toutes les tables de toutes les bases de données :
mysqlcheck -u root -p --auto-repair --check --optimize --all-databases
Si la table est en myisam et que la réparation ne fonctionne pas vous pouvez tenter ceci :
myisamchk --safe-recover cheminfichier.MYI
Si pour l'une des commandes ci-dessus l'interpréteur vous signifie que la commande n'est pas reconnue, deux solutions possibles.
1/ Déplacez vous jusqu'au niveau du répertoire contenant les binaires mysql :
cd C:\nchp\mysql\bin
ou
2/ Assurez vous que le chemin ci-dessus soit bien présent dans la variable path des variables d'environnement windows.
La plupart des opérations ci-dessus sont accessibles via l'interface graphique phpmyadmin mais la ligne de commande est plus performante. Avec phpmyadmin vous seriez par exemple limité sur la taille du fichier sql pour l'import en fonction des paramètres de configuration de php.
Il est nécessaire d'ajouter le paramètre de configuration suivant dans le .ini:
[mysqld] secure_auth=0
Par défaut dans MySQL 5.6 secure_auth est à 1 et bloque toute tentative d'authentification avec un mot de passe haché avec l'algorithme pré-4.1
https://dev.mysql.com/doc/refman/5.0/en/server-options.html#option_mysqld_secure-auth
https://dev.mysql.com/doc/refman/5.0/en/old-client.html