Page 1 sur 1

[mysql] recuperer donnees (en cours)

Publié : mer. 29 janv. 2020, 21:48
par AchilleFraisse
bonjour
mon pc sous archlinux a crash et je n'avais pas tout enregistré.
j'ai reussi a reconnecter le disque dur sous ubuntu et j'ai dans le dossier /var/lib/mysql des fichiers frm et ibd dans des dossiers correspondant aux noms de mes tables mysql.
est-ce qu'il y a moyen de convertir ses fichiers frm et idb en donnees sql pour que je puisse sauvegarder mes tables ? et si oui comment faire ? merci

Re: [mysql] recuperer donnees (en cours)

Publié : mer. 29 janv. 2020, 23:02
par papajoke
bonjour
tu a déjà une sauvegarde :wink:
puisque tu as les datas au format natif (maria ou mysql), il te suffit d'installer le même serveur sur ton autre linux et tu pourras alors exploiter les datas comme tu le désires

Re: [mysql] recuperer donnees (en cours)

Publié : jeu. 30 janv. 2020, 08:15
par AchilleFraisse
Merci pour ta reponse,
La sauvegarde que j ai ce sont juste des fichiers sql que j ai exporter et reimporter sur une autre bdd sous debian.
Et il y a des tables que je n ai pas sauvegardé.

Re: [mysql] recuperer donnees (en cours)

Publié : jeu. 30 janv. 2020, 11:33
par papajoke
on ne se comprend pas :lol:
tu as déjà toutes tes bases de données mais seulement elles ne sont pas au format "universel" sql mais mysql
Donc en installant mysql tu vas pouvoir ré-exploiter tes fichiers et éventuellement faire un dump au format sql

Il n'y a donc rien à récupérer (comme le demande ton titre), tu as les données et tu peux les réutiliser
Ta sauvegarde c'est ton répertoire, et pour exploiter des fichiers mysql on installe un serveur mysql

Re: [mysql] recuperer donnees (en cours)

Publié : jeu. 30 janv. 2020, 11:42
par AchilleFraisse
J ai essayé de copier le repertoire / var/lib/mysql d arch dans celui d ubntu.
J ai chmod 700 et chown mysql:mysql tout les dossiers et fichiers.
Mais quand je me connecte a mysql je ne vois pas les bdd

Re: [mysql] recuperer donnees (en cours)

Publié : sam. 01 févr. 2020, 10:07
par AchilleFraisse
pas d'avis du coup ?

Re: [mysql] recuperer donnees (en cours)

Publié : dim. 02 févr. 2020, 10:11
par FoolEcho
Copier le répertoire /var/lib/mysq/ d'un serveur de base de données à l'autre ne suffit pas car en gros les frm contiennent la structure des tables (en binaire) et les ibd les données... mais sans les avoir joué du tout dans la nouvelle base ben... vous voyez le problème. :copain:

Si tu veux faire un dump, mysqldump est là pour ça (néanmoins entre deux distributions il faut potentiellement faire attention à la version des serveurs...)... à condition que la base soit relativement petite:
https://wiki.archlinux.org/index.php/MariaDB#Backup
https://mariadb.com/kb/en/backing-up-an ... databases/ .
Du coup tu peux importer le sql obtenu ailleurs : https://stackoverflow.com/questions/949 ... t-one-time .

Tu peux aussi réutiliser les fichiers frm et ibd existants ( pour charger les frm tu auras besoin de mysqlfrm fourni par mysql-utilities ; quelques infos: https://easyteam.fr/mysql-utilities/) . La procédure indiquée ici m'a l'air complète (pas testé pour mariadb mais il n'y a pas de raison): https://medium.com/@badalnaik/mariadb-m ... a95269fba2 (attention le type travaille sur le même serveur de base de données du coup il fait mumuse avec les tablespaces et noms de base).

Re: [mysql] recuperer donnees (en cours)

Publié : dim. 02 févr. 2020, 18:19
par AchilleFraisse
Merci pour ta reponse.
Mais je ne comprends pas bien.
Moi les seuls donnéed que j ai c est lancien répertoire /var/lib/mysql dans lequel il y a les données que je veux récupérer.
Mais si je fais un mysqldupp je vais le faire sur ka bdd de mon nouveau système et pas sur l ancien répertoire mysql

Re: [mysql] recuperer donnees (en cours)

Publié : dim. 02 févr. 2020, 18:24
par AchilleFraisse
J ai par exemple un bdd forum et une table users.
J ai déplacer cette bdd dans le /var/lib/mysql de mon nouveau system.
Je me connecte a mysql et je tape :

Code : Tout sélectionner

use forum;show tables;
La je vois ma table users.
Et si je fait un select dessus il me répond :

Code : Tout sélectionner

users doesn't exist in engine
Donc je ne peux pas faire de dump dessus

Re: [mysql] recuperer donnees (en cours)

Publié : dim. 02 févr. 2020, 20:45
par FoolEcho
AchilleFraisse a écrit :
dim. 02 févr. 2020, 18:19
Merci pour ta reponse.
Mais je ne comprends pas bien.
Moi les seuls donnéed que j ai c est lancien répertoire /var/lib/mysql dans lequel il y a les données que je veux récupérer.
Mais si je fais un mysqldupp je vais le faire sur ka bdd de mon nouveau système et pas sur l ancien répertoire mysql
Tu n'as pas été des plus clairs... Pas évident de comprendre que ton serveur de bdd sous Arch ne fonctionnait plus... :|
FoolEcho a écrit :
dim. 02 févr. 2020, 10:11
Tu peux aussi réutiliser les fichiers frm et ibd existants ( pour charger les frm tu auras besoin de mysqlfrm fourni par mysql-utilities ; quelques infos: https://easyteam.fr/mysql-utilities/) . La procédure indiquée ici m'a l'air complète (pas testé pour mariadb mais il n'y a pas de raison): https://medium.com/@badalnaik/mariadb-m ... a95269fba2 (attention le type travaille sur le même serveur de base de données du coup il fait mumuse avec les tablespaces et noms de base).
... mais je t'ai indiqué la procédure pour récupérer une base depuis les fichiers .frm et ibd... :|

Re: [mysql] recuperer donnees (en cours)

Publié : dim. 02 févr. 2020, 20:49
par kunsochi
D accord merci je vais regarder.
Par contte le deuxieme lien ne marche pas

Re: [mysql] recuperer donnees (en cours)

Publié : dim. 02 févr. 2020, 21:00
par FoolEcho
C'est la citation qui l'a cassée... mais tu pouvais reprendre le message original...

Re: [mysql] recuperer donnees (en cours)

Publié : dim. 02 févr. 2020, 21:12
par laurent85
kunsochi a écrit :
dim. 02 févr. 2020, 20:49
D accord merci je vais regarder.
Par contte le deuxieme lien ne marche pas
Bonjour,
AchilleFraisse et kunsochi c'est la même personne ?

Re: [mysql] recuperer donnees (en cours)

Publié : dim. 02 févr. 2020, 21:46
par benjarobin
Oui, je crois qu'il a plus de 2 comptes ici...

Re: [mysql] recuperer donnees (en cours)

Publié : lun. 03 févr. 2020, 09:40
par AchilleFraisse
Oui j ai deux comptes pour ne pas etre toujours le meme guignole qui pose des questions tout le temps.
Pour en revenir à mysqlfrm, j ai un soucis avec le package mysql-utilities. Lorsque je l installe depuis aur, il me dit qu il ne trouve pas le paquet python2-mysql-connector. Je ne le trouve ni dans aur ni dans les depots.
Par contre dans les depots j ai un python-mysql-connector mais quand je l installe ca ne change rien

Re: [mysql] recuperer donnees (en cours)

Publié : lun. 03 févr. 2020, 18:48
par FoolEcho
AchilleFraisse a écrit :
lun. 03 févr. 2020, 09:40
Pour en revenir à mysqlfrm, j ai un soucis avec le package mysql-utilities. Lorsque je l installe depuis aur, il me dit qu il ne trouve pas le paquet python2-mysql-connector. Je ne le trouve ni dans aur ni dans les depots.
Pas claire ton histoire. Si c'est sur ton Ubuntu que tu veux installer la base, c'est sur et depuis le serveur de bdd Ubuntu qu'il te faut installer et utiliser mysql-utilities... tout en travaillant sur le répertoire d'Arch (ce dernier étant juste monté ou copier sur ton Ubuntu en gros).

Re: [mysql] recuperer donnees (en cours)

Publié : lun. 03 févr. 2020, 20:03
par AchilleFraisse
Oui, j'avais essayé de le faire depuis ma nouvelle instal de arch, mais je n'arrivais pas a installer mysql_utilities.
bref, je le fais maintenant depuis ubuntu. j'ai suivi toute la procedure et il me marque (quand je fais un select sur ma_table) :

Code : Tout sélectionner

Tablespace has been discarded for table ma_table
j'ai essayé de le refaire en enlevant la partie où il genere le fichier discard-ddl.sql, mais quand je fais un select sur ma_table il me dit qu'il n'y a aucune ligne alors que mon fichier ibd contient bien mes donnees

Re: [mysql] recuperer donnees (en cours)

Publié : mar. 04 févr. 2020, 19:01
par FoolEcho
Je ne sais pas.
Jamais eu à faire ce genre de manips et peut-être tu as eu des erreurs avant... Faudrait voir sans importer les données (sans les copies d'ibd donc) si tu peux déjà requêter ou pas du tout...
Les étapes de discard et d'import sont nécessaires en tous cas au vu du contexte.

Mais à l'aveugle c'est impossible de te guider...