Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 15/09/2010, à 10:20

detoxified

[Résolu]Restauration BDD Sql à partir de fichiers .frm .myd .myi

Bonjour, je plane un peu dans le domaine, en réalité je suis un pur newbie.

Voilà mon problème, je suis webmaster d'un site web avec forum en phpbb, je viens de changer d'hébergeur et la seule trace que j'ai de ma base de données c'est un ensemble de fichiers en .frm .myd et .myi

Pour importer cette base de données vers mon nouvel hébergeur, je dois avoir tout ça sous forme d'un fichier sql.

On m'a conseillé la chose suivante sur un forum PHP :

Alors, crée une bdd en local, sous wamp. Copie ensuite tes fichiers .frm dans le dossier (sous windows) C:\wamp\bin\mysql\mysqlx.x\data\tanouvellebdd\
Exporte ensuite sous phpmyadmin, et le tour est joué smile

Donc, comme je suis sous Ubuntu, je me suis mis en quête de Xampp. Je l'ai installé, avec le terminal dans le répertoire /opt

L'installation s'est bien passée.

Maintenant, quand je fais :

sudo /opt/lampp/lampp start

Il me vient :

XAMPP: Another web server daemon is already running.
XAMPP: Starting MySQL...
XAMPP: Starting ProFTPD...
XAMPP for Linux started.

Ensuite, quand je vais dans mozilla (je sais même pas pourquoi, mais c'est ce qu'on me demande de faire) et que je tape l'URL :
http://localhost/

J'ai une page blanche et c'est marqué en haut à gauche :
It works !

Je suis content mais ça ne m'avance pas trop dans mon problème. Comment faire maintenant pour créer une BDD en local avec les fichiers .frm .myd et .myi, et comment est-ce que je récupère un fichier sql correspondant ?

HELP !
sad

Dernière modification par detoxified (Le 02/10/2010, à 16:39)


Tout ça c'est Babylone qui nous exploite...

Hors ligne

#2 Le 15/09/2010, à 19:41

sputnick

Re : [Résolu]Restauration BDD Sql à partir de fichiers .frm .myd .myi

Va voir dans /var/lib/mysql tu devrais avoir des dossiers qui sont en fait les bases.
Si t'en a pas ajouté, tu doit avoir mysql au minimum. Dans ce répertoire mysql tu a les fichiers que tu cherche. Tu ne touche surtout pas ceux là mais tu crèe le répertoire
/var/lib/<NOM DE TA BASE> puis tu colle tes fichiers la dedans. Si t'a le répertoire complet avec son nom c'est encore mieux.
Ensuite tu lance :

mysqlcheck -A -r

pour réparer les bases si besoin, puis la commande qui va te permettre de dumper proprement :

mysqldump --quote-names --opt --hex-blob <NOM DE LA BASE> | gzip > /tmp/dump.sql

Bon, c'est pas dit que ça marche à 100%, en tout cas j'ai jamais testé, les backups étant là pour ça, mais ça peut le faire...

Est-ce que tu a gardé les binlogs ? Ces fichiers se trouvent par défaut dans /var/log/mysql/mysql-bin.*


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#3 Le 15/09/2010, à 22:21

detoxified

Re : [Résolu]Restauration BDD Sql à partir de fichiers .frm .myd .myi

Salut, d'abord, merci d'avoir prêté attention à mon problème.

Pour t'expliquer rapidement : je ne me suis jamais occupé de base de données. La première implantation du forum a été faite par un autre qui m'a tout laissé en plan. C'est donc la première fois que je me colle au problème.

Pour installer Xampp, j'ai suivi un tutoriel qui se trouve ici :
http://www.apachefriends.org/fr/xampp-linux.html

Le résultat de la manip, c'est ce que j'ai indiqué dans mon premier post.

Il y a donc des choses d'installées chez moi, mais quand je procède à l'étape 4 du tutoriel, ça ne m'affiche pas ce qui est indiqué. (http://localhost, ça ne fonctionne pas chez moi, au lieu de m'afficher un écran d'accueil, ça affiche : it works !)

De plus, quand j'explore le dossier /var/lib, il ne comporte pas de dossier mysql, il y a un dossier php5, mais pas de mysql.
Jusqu'à présent, je n'ai jamais eu la BDD sur mon PC elle était sur un serveur (chez mon hébergeur quoi) avant de changer d'hébergeur je n'avais pas fais de sauvegarde de la base de données, je n'ai donc pas de fichier sql. J'ai demandé, après coup, à mon ancien hébergeur si à tout hasard et par miracle il avait une telle sauvegarde, il m'a donné une archive zip, quand on l'ouvre elle contient une série de fichiers en .frm .myi et .myd

Voilà où j'en suis (c'est pas brillant, je l'avoue mais je débarque)

Dernière modification par detoxified (Le 15/09/2010, à 22:28)


Tout ça c'est Babylone qui nous exploite...

Hors ligne

#4 Le 15/09/2010, à 23:30

sputnick

Re : [Résolu]Restauration BDD Sql à partir de fichiers .frm .myd .myi

Je ne connais pas XAMPP en particulier mais bien LAMP.
Lance en console/terminal un

find / -path "*/mysql/user.frm"

et colle le résultat ici même


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#5 Le 16/09/2010, à 19:02

detoxified

Re : [Résolu]Restauration BDD Sql à partir de fichiers .frm .myd .myi

J'ai essayé ça. Premier essai = catastrophe (je savais pas qu'il fallait se mettre en su)

Donc j'ai refait plutôt ça :

sudo find / -path "*/mysql/user.frm"

Et là, il me l'a trouvé :

/opt/lampp/var/mysql/mysql/user.frm

[Edit] En essayant de recoller les morceaux avec ce qui s'était dit au dessus.

J'ai tenté de faire avancer l'affaire en créant un dossier /opt/lampp/var/lib/mabase
dans lequel j'ai mis mes fichiers .frm .myi et .myd

Est-ce une bonne idée ?

???
neutral

J'en doute, parce que quand je lance la commande :

mysqlcheck -A -r

Il me renvoie :

mysqlcheck: Got error: 2002: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) when trying to connect

Dernière modification par detoxified (Le 16/09/2010, à 19:34)


Tout ça c'est Babylone qui nous exploite...

Hors ligne

#6 Le 16/09/2010, à 20:29

sputnick

Re : [Résolu]Restauration BDD Sql à partir de fichiers .frm .myd .myi

Bon ben ça avance smile
Redemarre mysql et lance mysqldump et mysqlcheck comme ça :

mysqlcheck -A -r --socket=$(mysql --skip-column-names <<< 'SHOW VARIABLES WHERE Variable_name="socket"' | awk '{print $2}')

La commande

mysql --skip-column-names <<< 'SHOW VARIABLES WHERE Variable_name="socket"' | awk '{print $2}'

sert juste à trouver la socket ad-hoc.

Cela necessite que l'on puisse lancer mysql sans password, sinon à adapter...


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#7 Le 17/09/2010, à 08:40

detoxified

Re : [Résolu]Restauration BDD Sql à partir de fichiers .frm .myd .myi

Ha, ça, effectivement, je vois que tu avances plus vite que moi !
lol

Alors, vu que je suis un vrai newbie, je vais commencer par me mettre en quête de savoir comment on lance Mysql
lol

Merci pour la patience
smile

Bon, je me suis donc lancé à chercher sur google : "démarrage de mysql"

Si je tape la commande mysql dans un terminal ça renvoie ça :

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

J'ai lu dans un autre forum qu'il serait peut-être plus judicieux de taper mysqld, et là ça me renvoie :

100917  9:43:54 [Warning] Can't create test file /var/lib/mysql/alcodein-desktop.lower-test
mysqld: Can't change dir to '/var/lib/mysql/' (Errcode: 2)
100917  9:43:54 [ERROR] Aborting

100917  9:43:54 [Note] mysqld: Shutdown complete

Heureusement que tu dis que ça avance, parce que moi je sors les rames !
lol

Mais en y réfléchissant, ça parait logique que ça ne fonctionne pas puisque ces répertoires n'existent pas :
/var/lib/mysql/ en particulier (tu me l'avais indiqué depuis le début, mais il n'est pas là...)

PS : Au passage, j'ai appris comment on se mettait en root avec le terminal, c'est plus pratique pour ce genre d'opérations.:)

Dernière modification par detoxified (Le 17/09/2010, à 09:20)


Tout ça c'est Babylone qui nous exploite...

Hors ligne

#8 Le 17/09/2010, à 12:10

sputnick

Re : [Résolu]Restauration BDD Sql à partir de fichiers .frm .myd .myi

Alors, vu que je suis un vrai newbie, je vais commencer par me mettre en quête de savoir comment on lance Mysql

Quand tu conduit une voiture tu apprends à conduire ?
Pour parler à des étrangers tu apprends une langue ?
Si tu veut pouvoir avancer, il faut que tu apprenne par toi même un minimum comment installer et utiliser LAMP ( oublie cette ß|ÆŊÐŦ de XAMPP ) c'est pas la doc qui manque, on ne va pas tout te faire !
Si ensuite tu a des questions on est là...


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#9 Le 17/09/2010, à 14:24

Hoper

Re : [Résolu]Restauration BDD Sql à partir de fichiers .frm .myd .myi

+1.

D'abord tu lis tranquillement les doc. Si tu veux utiliser mysql, tu apprend à installer et à utiliser mysql. Et pour ça, tu n'a ni besoin d'apache, ni de quoi que ce soit d'autre. Commence par le commencement.  Ensuite, si tu as besoin d'apache (pour autre chose que mysql donc) tu installera apache. Et peut être php... et peut etre encore d'autre trucs. Mais fait les choses dans l'ordre.

Et surtout espère pas trop retrouver tes données hein... C'est pas complétement impossible, mais ca dépend de tellement de choses.. (format des tables etc). La prochaine fois que tu voudra avoir une copie, pense à utiliser les outils fournis, et notamment mysqldump. Ces outils sont la pour ca. Une copie de fichier n'a aucune chance de fonctionner si la base est en cours d'utilisation. Un peu comme si tu faisais la copie d'un système de fichier en cours d'utilisation...


Mes tutos et coups de gueule :
http://hoper.dnsalias.net/atdc/
Mastodon: @hoper@framapiaf.org

Hors ligne

#10 Le 18/09/2010, à 19:25

detoxified

Re : [Résolu]Restauration BDD Sql à partir de fichiers .frm .myd .myi

Ok, je vais regarder tout ça.

Dites-vous bien, qu'en réalité on m'a refilé le volant alors que la voiture roulait. Ou si vous préférez, qu'on m'a largué à l'étranger sans me donner le manuel pour parler.

Il est toujours temps de me reprocher de ne pas avoir passé le permis ou pas appris la langue...

Le résultat sera le même. Merci pour l'aide, je continue à ramer.

smile

En tout cas, ça c'est faux (je pense) dans le cas présent :

Une copie de fichier n'a aucune chance de fonctionner si la base est en cours d'utilisation. Un peu comme si tu faisais la copie d'un système de fichier en cours d'utilisation...

Tout simplement parce que le forum était à l'arrêt depuis au moins 3 semaines avant le transfert.

Remarque : dans le cas d'une utilisation "normale", la sauvegarde de la base de données se fait par l'intermédiaire du panneau d'administration du forum, il suffit de cliquer sur l'option et on récupère un fichier sql (c'est ce qu'on m'a gentiment expliqué, 3 mois après m'avoir largué avec les manettes, et une fois que c'était trop tard, évidemment. Le tout étant en rapport avec des histoires de Babylone...)

Dernière modification par detoxified (Le 18/09/2010, à 19:57)


Tout ça c'est Babylone qui nous exploite...

Hors ligne

#11 Le 19/09/2010, à 01:14

sputnick

Re : [Résolu]Restauration BDD Sql à partir de fichiers .frm .myd .myi

shoota babylone !

Je cherche sincèrement à t'aider, je t'ai donné bien plus que des pistes, mais tu a besoin de connaitre les prérequis de bases dont on t'a parlé avec Hoper...

Toujours est-il, je pense que c'est jouable, en tout cas faut tenter le coup ( sur un malentendu ça pourrais marcher smile )


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#12 Le 19/09/2010, à 08:55

detoxified

Re : [Résolu]Restauration BDD Sql à partir de fichiers .frm .myd .myi

Je reste optimiste. Je pense qu'en me documentant un peu et en reprenant toutes les indications qui sont dans ce fil (notamment les lignes de commandes que tu m'as données), ça ira au moins jusqu'au point où je récupèrerais un dump.

Ensuite, il fonctionne, il fonctionne pas, inch allah.

Je suis sincère quand je dis merci pour l'aide.
smile


Tout ça c'est Babylone qui nous exploite...

Hors ligne

#13 Le 19/09/2010, à 15:32

Lascar33

Re : [Résolu]Restauration BDD Sql à partir de fichiers .frm .myd .myi

Apparement lampp installe phpmyadmin par défaut..

Essaie de taper http://localhost/phpmyadmin/ dans mozilla.

- Si t'as une page essaie de te connecté avec surement les logins donnés à l'install de lampp.
Si t'arrive à te connecter, mets les fichier .frm .myd .myi dans le dossier : /opt/lampp/var/mysql/LE_NOM_DE_TA_BDD/

essaye de voir à qui appartient /opt/lampp/var/mysql/mysql/ (pour ma part c'est mysql:mysql, mais comme j'utilise pas lampp ou xampp c'est peut-être un autre user et group)

ls -l /opt/lampp/var/mysql/

et mets le même proprio à /opt/lampp/var/mysql/LE_NOM_DE_TA_BDD/

sudo chown -R USER_QUE_TA_RECUP:GROUP_QUE_TA_RECUP /opt/lampp/var/mysql/LE_NOM_DE_TA_BDD/

retourne dans phpmyadmin et normalement ta bdd est listée

- Si t'as pas de page, fais moi un :

ls /opt/lampp/phpmyadmin/

et poste moi la réponse...

Dernière modification par Lascar33 (Le 19/09/2010, à 15:36)


Under Ubuntu since 09-16-2010

Jeu de gestion d'écurie automobile Akilébien ! http://www.ondarun2.com

Hors ligne

#14 Le 19/09/2010, à 16:54

Hoper

Re : [Résolu]Restauration BDD Sql à partir de fichiers .frm .myd .myi

Tout simplement parce que le forum était à l'arrêt depuis au moins 3 semaines avant le transfert.

Le forum, ok mais la base ? La base mysql avait elle été mise à l'arret ? avec une commande type "/etc/init.d/mysql stop" sous linux, ou équivalent sous windows ? Sans cela, je continu à affirmer que récupérer les données va etre très aléatoires. Quand au bouton qui permet de récupérer les fichiers sql, comprend bien que derrière il utilise précisément la commande que j'avais (je crois) indiqué, à savoir mysqldump...

Enfin, personne ne peut te demander l'impossible. (comme par exemple restaurer un serveur sans en avoir les sauvegardes...)


Mes tutos et coups de gueule :
http://hoper.dnsalias.net/atdc/
Mastodon: @hoper@framapiaf.org

Hors ligne

#15 Le 19/09/2010, à 17:19

YannTech

Re : [Résolu]Restauration BDD Sql à partir de fichiers .frm .myd .myi

je savais même pas que bidules XAMPP/etc.. était sous nos OS wink

Pour ma part j'aurais fais :

sudo -s
aptitude install mysql-server

ensuite

mkdir /var/lib/mysql/rescue
cp *.frm *.MYI *.MDY /var/lib/mysql/rescue/
chown mysql:mysql /var/lib/mysql/rescue/

la on devrais avoir notre DB, on peux exporter en .sql :

mysqldump -p rescue > rescue.sql

ou rescue.sql contient ta DB.
Enjoy !

Hors ligne

#16 Le 02/10/2010, à 16:41

detoxified

Re : [Résolu]Restauration BDD Sql à partir de fichiers .frm .myd .myi

Bonjour à tous,
J'avais oublié de revenir vers vous et de vous annoncer la bonne nouvelle.

Ça marche !!!

Incredible, unbelievable, etc. Merci à vous de votre patience et de votre aide.
smile

Et en plus, la base de données n'avait pas été fermée (pour répondre à la question de hoper) avant de changer d'hébergeur.

Pour info, j'ai refourgué le dossier avec les fichiers d'origine à un ami qui enseigne l'informatique. Je lui ai indiqué le lien vers cette discussion et il a suivi la première manip qui a été indiquée dans ce fil. Il m'a retourné le fichier en .sql par mail. Depuis la console d'administration, chez mon nouvel hébergeur, j'ai fait "importer une bdd" et ça marche.

Dernière modification par detoxified (Le 02/10/2010, à 16:52)


Tout ça c'est Babylone qui nous exploite...

Hors ligne

#17 Le 02/10/2010, à 18:22

sputnick

Re : [Résolu]Restauration BDD Sql à partir de fichiers .frm .myd .myi

Mazeltov ! tongue


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne