IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration MySQL Discussion :

Comment backuper ma base de données ?


Sujet :

Administration MySQL

  1. #1
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 096
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 096
    Points : 944
    Points
    944
    Par défaut Comment backuper ma base de données ?
    Bonjour,

    J'ai installé Apache, PHP, MySQL et phpmyadmin sur un serveur Ubuntu 16 que je controle à 100%

    Voici mes commande
    #sudo apt-get install apache
    #sudo apt-get install mysql-server
    #sudo apt-get install php libapache2-mod-php php-mcrypt php-mysql

    J'ai tout installé par defaut sans avoir spécifier un emplacement de mes bases de donnée

    J'utilise aussi Rsnapshot pour Backuper mon serveur sur un serveur distant.

    Dans cette configuration, il me backup le contenu de /var/www/

    J'aimerais aussi backuper mes bases de données, mais je ne sais pas alors quels dossier à backuper.
    Dans quel dossier sont ces bases de données?
    Si je voulais faire un sudo cp de mes bases de données, dans quel dossier, je dois aller ??????

    Merci pour vos lumières?
    Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout!

  2. #2
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2015
    Messages
    644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2015
    Messages : 644
    Points : 1 509
    Points
    1 509
    Par défaut
    Bonjour,

    On peut difficilement savoir à ta place ou tu les as mises. Il n'y a pas (à ma connaissance) de directory par défaut.

    Par exemple, les miennes sont dans C:/Company/bdd.gdb.

    Fais une recherche générale sur ta machine?

    Bon courage !
    Un fait toujours plaisir et encourage à l'entraide. Un n'est pas à négliger, pensez aux autres !

    Que la force soit avec Developpez.net
    Je ne suis pas un crack en informatique, loin de là, mais il n'y a pas que les mécaniciens qui sachent conduire une voiture

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 251
    Points : 383
    Points
    383
    Par défaut
    On ne sauvegarde pas une base de donnée en copiant le dossier.

    Y a des outils pour ca. Par ex avec mysqldump (fourni avec mysql, tu trouvera des scripts sans problème) ou automysqlbackup ( https://sourceforge.net/projects/automysqlbackup/ )

  4. #4
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 381
    Points : 19 065
    Points
    19 065
    Par défaut
    Salut pierrot10.

    Un backup, c'est la recopie physique des données qui sont sur ton disque dur. Pour ce faire, j'utilise ACRONIS !
    J'utilise le backup pour me prémunir d'un plantage de mon disque dur.

    Une sauvegarde (un dump), c'est le vidage du contenu de ta base de données.
    Sous MySql, tu as "mysqmdump" qui le fait très bien.
    Autrement dit, c'est un "export" et vous pouvez le faire le plus simplement du monde à partir de phpmyadmin.
    J'utilise le dump pour revenir en arrière au cas où j'ai fait une fausse manipulation.

    La différence entre le backup et le dump réside dans le temps nécessaire pour revenir dans la situation précédente.

    Dans les deux cas, il n'est pas nécessaire de connaitre l'emplacement physique de tes bases de données.

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  5. #5
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 096
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 096
    Points : 944
    Points
    944
    Par défaut
    Bonjour,
    Alors je suis en train d'essayer mysqldump

    J'ai rien eu besoin d'installer. un
    m'affiche des info

    J'ai donc lancer la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql -u cak_user -p db_user > /home/user/mysqldump/cakphp_20160620.sql
    Il m'a ensuite demandé le mot de passe.
    Y-a-t-il besoin du sudo avant la commande, pour ubuntu?


    Ce qui m'inquiete, c'est que ca fait 20mn que ca mouline et pourtant la base de donnée n'est pas énorme. C'est la base de donnée d'une toute nouvelle installation de CakePHP3.

    Le fichier '/home/user/mysqldump/cakphp_20160620.sql' a bien été créé.

    Es-ce normal que ca prenne autant de temps?

    Au passage, j'ai une autre question.
    J'ai lu ceci:
    https://doc.ubuntu-fr.org/mysql
    Déscendez au point 6.2 Restauration à partir du dump du datadir.
    Je n'arrive pas à lire ce dossier, car son droit est
    drwx------ 7 mysql mysql 4096 Jun 17 19:04 mysql/
    J'ai aussi cru comprendre, qu'il fallait ces droits pour ce dosier.

    Comment puis-je faire pour l'accèder?
    Es-ce que je peux rapidement changer les droits et les remettre?
    Es-ce que je peux changer ainsi sans que ca pertibe MySQL?
    drwxr-x--- 7 mysql user 4096 Jun 17 19:04 mysql/
    Merci pour vos lumipres :o)
    Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout!

  6. #6
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 381
    Points : 19 065
    Points
    19 065
    Par défaut
    Salut pierrot10.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql -u cak_user -p db_user > /home/user/mysqldump/cakphp_20160620.sql
    Je ne sais pas ce que tu essayes de faire avec cette commande, mais normalement cela ne fait strictement rien.

    Pour faire un vidage de ta base de données "db_user", tu tapes ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysqldump --no-create-db  --opt  --databases db_user  --result-file=/home/user/mysqldump/cakphp_20160620.sql
    Et si tu ne veux pas taper à chaque fois ton user et ton password, tu renseignes ceci dans le fichier my.cnf :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    [client]
    user     = root
    password = root
    host     = 127.0.0.1
    Citation Envoyé par pierrot10
    Es-ce normal que ça prenne autant de temps?
    Oui, c'est normal que cela prenne autant de temps, car en fait, il ne fait strictement rien.
    Il suffit de regarder ton fichier. Il ne grossit pas. Pourquoi ?
    Car tu as taper "mysql" au lieu de "mysqldump".

    Citation Envoyé par pierrot10
    Au passage, j'ai une autre question.
    Tu dois te mettre en mode administrateur, sinon, ta restauration ne fonctionnera pas.
    D'où l'intérêt de lancer ta commande avec SUDO !

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  7. #7
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 096
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 096
    Points : 944
    Points
    944
    Par défaut
    Car tu as taper "mysql" au lieu de "mysqldump".
    Ha ben oui, qu'es-ce que je suis bête!!!!!!!

    Ca va vraiment beaucoup mieux quand je tape
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sudo mysqldump -u cak_user -p db_user > /home/user/mysqldump/cakphp_20160620.sql
    Ceci dit le sudo avant cette commande est vraiment indispendable. Ca semble fonctionner sans.

    Tu dois te mettre en mode administrateur, sinon, ta restauration ne fonctionnera pas.
    D'où l'intérêt de lancer ta commande avec SUDO !
    Fais-tu allusion à la commande ci-dessus?

    J'aimerais aussi faie un 'cp' de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sudo cp /var/lib/mysql/db_user/* /home/user/mysql/bck/20160620/db_user/
    Mais les droits par défaut, ne me permettent pas d'accèder à ce dossier.

    C'est pourquoi, je me demandais s'il était possible de changer les droit de ce dossier
    drwxr-x--- 7 mysql user 4096 Jun 17 19:04 mysql/
    Sans que ca perturbe mysql
    Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout!

  8. #8
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2015
    Messages
    644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2015
    Messages : 644
    Points : 1 509
    Points
    1 509
    Par défaut
    chmod 777
    Un fait toujours plaisir et encourage à l'entraide. Un n'est pas à négliger, pensez aux autres !

    Que la force soit avec Developpez.net
    Je ne suis pas un crack en informatique, loin de là, mais il n'y a pas que les mécaniciens qui sachent conduire une voiture

  9. #9
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 381
    Points : 19 065
    Points
    19 065
    Par défaut
    Salut pierrot10.

    Citation Envoyé par pierrot10
    Fais-tu allusion à la commande ci-dessus?
    Peu importe, il faut être en mode administrateur lorsque tu fais ce genre de manipulation.

    Citation Envoyé par pierrot10
    C'est pourquoi, je me demandais s'il était possible de changer les droit de ce dossier
    Si tu as la possibilité de changer les droits sur ce dossier, alors fais le.

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 251
    Points : 383
    Points
    383
    Par défaut
    Il ne faut pas confondre l'user root du système et l'user root de mysql.

    mysqldump n'a pas besoin de sudo pour fonctionner. Donc on évite
    En général on utilise l'user root de mysql pour mysqdump - c'est plus pratique, surtout si on a cloisonné différentes bases avec différents users.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sudo mysqldump -u cak_user -p db_user > /home/user/mysqldump/cakphp_20160620.sql
    Et donc l'user propriétaire de /home/user ne peut pas modifier le fichier, vu qu'il a été créé par root...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sudo cp /var/lib/mysql/db_user/* /home/user/mysql/bck/20160620/db_user/
    Non. Ou alors il faut être sûr que le fichier ne sera pas modifié pendant la copie, ce qui implique d'arrêter mysql avant. Super pratique...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    drwxr-x--- 7 mysql user 4096 Jun 17 19:04 mysql/
    Laisse les droits comme ils sont. Si le script du paquet mysql te crée un user mysql c'est pas pour rien.

  11. #11
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 096
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 096
    Points : 944
    Points
    944
    Par défaut
    Salut scvo,

    Je comprends pas très bien t'a réponse
    mysqldump n'a pas besoin de sudo pour fonctionner
    Donc je peux faire comme ceci, sans le sudo
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysqldump -u cak_user -p db_user > /home/user/mysqldump/cakphp_20160620.sql
    Je souhaite faire un petit script qui va copié le contenu de /var/lib/mysql/db_user/, dans /home/user/mysql/, en plus du mysqldump
    Donc si je fait un cron et c'est le root de l'OS qui le tourne, il va pas pouvoir accèder et lire ce dossier.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    drwx------ 7 mysql mysql 4096 Jun 17 19:04 mysql/
    Désolé, pour mes confusions
    Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout!

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 251
    Points : 383
    Points
    383
    Par défaut
    Donc je peux faire comme ceci, sans le sudo
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mysqldump -u cak_user -p db_user > /home/user/mysqldump/cakphp_20160620.sql
    Tout à fait

    Je souhaite faire un petit script qui va copié le contenu de /var/lib/mysql/db_user/, dans /home/user/mysql/, en plus du mysqldump
    Donc si je fait un cron et c'est le root de l'OS qui le tourne, il va pas pouvoir accèder et lire ce dossier.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    drwx------ 7 mysql mysql 4096 Jun 17 19:04 mysql/
    Vu les droits de ce dossier, il n'y que l'user mysql qui peut accéder au dossier. Donc soit tu changes les droits, soit tu modifie la crontab de l'user mysql. (crontab -u mysql -e )

    Mais dans tous les cas ca n'a aucun intérêt, cf la doc http://dev.mysql.com/doc/refman/5.7/...p-methods.html

    En gros pour faire ca il faut locker les tables ou couper le serveur (), et ca ne fonctionne pas avec InnoDB.

  13. #13
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 381
    Points : 19 065
    Points
    19 065
    Par défaut
    Salut scvo.0ne.

    Citation Envoyé par scvo.0ne
    Il ne faut pas confondre l'user root du système et l'user root de mysql.
    Je ne confonds rien du tout. Je travaille que sous windows avec WampServer.
    Pour utiliser correctement le serveur MySql, ma session windows doit être en mode administrateur.
    Sans cela, je ne suis pas autorisé à accéder au serveur MySql. Pourquoi ?
    Le serveur MySql est géré par un service, qui est accessible que si je suis en mode administrateur.
    Si j'utilise une session windows non administrateur, j'ai un message qui m'indique que je ne suis pas autorisé à accer à ce serveur MySql.

    D'autre part, MySqlDump est un utilitaire pour faire de l'administration sur votre base de données.
    Pour l'utiliser normalement, il vaut mieux être sous le compte root de MySql (que je ne confonds pas avec le compte root de linux).
    Il n'est pas nécessaire d'être en mode administreur pour utiliser cet outil.
    Mais comme je ne peux pas accéder au serveur MySql sans être en mode administreur sous windows, je ne peux pas faire autrement.
    Bien entendu, on peut aussi faire un vidage en ayant le serveur arrêté.
    Dans ce cas là, le fait d'être en mode administrateur ne vous sert pas à grand chose.

    Et enfin, pour copier un fichier dans un répertoire où vous n'avez pas les autorisations, il y a que deux solutions :
    --> soit utiliser la commande SUDO (Substitute User DO).
    --> soit modifier ces autorisations, en faisant un "chmod 770" par exemple.

    Pour faire un vidage (dump), il est vivement recommandé d'être seul à travailler sur cette table.
    Autrement dit, vous mettez un verrou en lecture seul :
    --> http://dev.mysql.com/doc/refman/5.7/en/lock-tables.html

    Désolé si mes explications n'ont pas été suffisamment claires.

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

Discussions similaires

  1. [VB.NET] Comment compacter une base de données Access ?
    Par xVINCEx dans le forum Contribuez
    Réponses: 6
    Dernier message: 05/06/2008, 18h35
  2. outils de "backup " de base de données
    Par yaobi dans le forum PostgreSQL
    Réponses: 11
    Dernier message: 20/07/2005, 12h39
  3. comment faire ma base de donnée pour un moteur de recherche
    Par HoB dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 04/05/2004, 15h07
  4. comment vider une base de donnée
    Par caps_corp dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 21/04/2004, 16h54
  5. Comment acceder à une base de donnée F1.db_ ?
    Par diado dans le forum Autres SGBD
    Réponses: 8
    Dernier message: 26/12/2003, 08h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo