0

à l'origine j'utilisais easyPHP (windows) puis je passer à mac et utilisé MAMP. j'archive mon DB de temps en temps et juste avant que je reformaté. L'exportation a été faite en allant à la racine de phpMyAdmin et en utilisant la fonction d'exportation. Maintenant, j'essaie d'importer les données que j'obtiens cette erreur "# 1044 - Accès refusé pour l'utilisateur 'root' @ 'localhost' à la base de données 'information_schema'". Faire d'autres choses j'ai eu des erreurs comme "# 1146 - Table 'test_db.COLLATION_CHARACTER_SET_APPLICABILITY' n'existe pas", "# 1146 - Table 'test_db.CHARACTER_SETS' n'existe pas" et "# 1146 - Table 'test_db.COLUMNS' n'existe pas "et" # 1046 - Aucune base de données sélectionnée "problème d'importation mysql en utilisant XAMP

Comment obtenir MAMP pour importer et ignorer les erreurs d'accès et continuer ainsi mon DB est rempli à l'état précédent? Je préfère ne pas écrire une application pour ce faire, mais si j'avais à quelles librairies j'utiliserais pour analyser les déclarations sql dans le vidage sql? Il ne semble pas difficile d'analyser. Il semble qu'un point-virgule sépare les déclarations. Mais qu'en est-il des problèmes d'évasion et d'unescape? comment puis-je gérer cela?

Répondre

2

La première erreur indique que quelque chose ne va pas dans votre configuration. Le schéma d'information est un DB interne qui conserve des données sur d'autres parties du système (métadonnées). Vous devriez essayer de réinstaller votre serveur MySQL (ou même MAMP dans son ensemble).

Deuxièmement: les fichiers de sauvegarde peuvent être importés à l'aide du client de ligne de commande mysql comme ceci:

mysql -p -u root test_db < dump.sql 

Une chose à retenir est que « test_db » doit être créé avant la décharge est rétablie . Un autre problème possible pourrait être que le vidage/restauration est fait par différentes versions de MySQL (par exemple, 5.0 vs 5.1). Pour cela, vous pouvez essayer la commande --force dans la ligne de commande mysql pour ignorer les exécutions échouées, mais sachez que cela risque de ne pas restaurer correctement vos données.