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

Installation MySQL Discussion :

Définir basedir et datadir dynamiquement ?


Sujet :

Installation MySQL

  1. #1
    Membre habitué Avatar de tintin72
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    663
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 663
    Points : 177
    Points
    177
    Par défaut Définir basedir et datadir dynamiquement ?
    Bonjour,

    Je voudrais savoir s'il est possible de définir le chemin pour basedir et datadir
    lors du lancement de mysql en ligne de commande.
    Comme je souhaite lancer mysql à partir d'une clé usb, la lettre du lecteur n'étant
    pas toujours la même j'aurais besoin de définir ces chemins dynamiquement.
    J'ai vu qu'il y avait les options --basedir et --datadir pour mysqld, mais je
    ne suis pas sûr de la syntaxe.
    J'ai essayé ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysqld --install --basedir=H:/mywamp/mysql-5.5.25 --datadir=H:/mywamp/mysql-5.5.25/data
    mais sans succès.
    Quelqu'un pourrait-il me dire comment faire ?

    D'avance merci.

  2. #2
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    445
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 445
    Points : 622
    Points
    622
    Par défaut
    Il sert à quoi ton --install ?

  3. #3
    Membre habitué Avatar de tintin72
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    663
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 663
    Points : 177
    Points
    177
    Par défaut
    A installer le service MySQL
    Pour le lancer c'est

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    445
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 445
    Points : 622
    Points
    622
    Par défaut
    Citation Envoyé par tintin72 Voir le message
    A installer le service MySQL
    Pour le lancer c'est
    Je sais bien...

    Citation Envoyé par tintin72 Voir le message
    Je voudrais savoir s'il est possible de définir le chemin pour basedir et datadir
    lors du lancement de mysql en ligne de commande.
    Simplement, je ne trouve pas logique d'avoir une option qui permet d'installer un service dans une commande qui est censée lancer l'application!

  5. #5
    Membre habitué Avatar de tintin72
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    663
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 663
    Points : 177
    Points
    177
    Par défaut
    Simplement, je ne trouve pas logique d'avoir une option qui permet d'installer un service dans une commande qui est censée lancer l'application!
    C'est la procédure normale quand on lance MySQL comme un service:
    http://dev.mysql.com/doc/refman/5.0/...t-service.html

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    445
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 445
    Points : 622
    Points
    622
    Par défaut
    Citation Envoyé par tintin72 Voir le message
    C'est la procédure normale quand on lance MySQL comme un service:
    http://dev.mysql.com/doc/refman/5.0/...t-service.html
    Je pensais que tu voulais lancer mysql en ligne de commande.
    Apparemment tu veux plutôt lancé une commande qui permette de modifier les paramètres du service.


    Il y a surement mieux, mais tu peux deja tenter ça :

    Tu ajoutes dans ton my.ini :
    basedir="LETTRE_DU_LECTEUR:/mywamp/mysql-5.5.25/"
    datadir="LETTRE_DU_LECTEUR:/mywamp/mysql-5.5.25/data/"

    Et tu installes le service comme ça :
    mysqld --install MYSQL --defaults-file="LETTRE_DU_LECTEUR:/mywamp/mysql-5.5.25/my.ini"

  7. #7
    Membre habitué Avatar de tintin72
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    663
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 663
    Points : 177
    Points
    177
    Par défaut
    Relis mon 1er post.
    MySQL est installé sur une clé USB, je ne connais pas la lettre du lecteur avant d'avoir inséré la clé, d'où ma question: "Comment définir basedir et datadir dynamiquement".
    J'ai créé un fichier .bat qui récupère la lettre du lecteur, il faut maintenant que j'arrive à renseigner les chemins basedir et datadir lors du lancement du service (mysqld --install).

    Une idée ?

  8. #8
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    445
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 445
    Points : 622
    Points
    622
    Par défaut
    Reprenons.

    Pour lancer mysql tu as deux possibilités:
    - En ligne de commande
    - En service

    Si tu veux lancer mysql en ligne de commande, il faut faire :
    - mysqld --basedir=H:/mywamp/mysql-5.5.25 --datadir=H:/mywamp/mysql-5.5.25/data ( Il ne faut pas mettre --install)


    Si tu veux lancer mysql en service, il faudrait faire :
    - mysqld --remove MYSQL
    - mysqld --install MYSQL ( avec les paramètres de lecteur adéquats)
    - net start MYSQL
    Comme je ne sais pas installer un service avec autre chose que defaults-file comme paramètre, je t'ai donner une méthode pas terrible mais qui fonctionne.

    Par exemple ton .bat qui récupère le numéro du lecteur modifie aussi ton my.ini

    Tu n'as pas besoin d'utiliser --defaults-file (surtout si ton fichier de config se nomme my.ini)
    C'était surtout pour te montrer que ton fichier de config pouvait être ailleurs que sur la clé, ou avoir plusieurs noms (par ex: my_lect_h.ini, my_lect_i.ini,my_lect_j.ini ...)

  9. #9
    Membre habitué Avatar de tintin72
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    663
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 663
    Points : 177
    Points
    177
    Par défaut
    En fait actuellement mon fichier .bat installe le service, supprime le my.ini et en recréé un autre similaire avec la bonne lettre de lecteur puis lance le service.
    Ça fonctionne mais je voulais savoir s'il n'y avait pas une autre possibilité moins "tordue".
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysqld --basedir=G:/mywamp/mysql-5.5.25 --datadir=G:/mywamp/mysql-5.5.25/data
    Semble fonctionner mais je n'arrive pas à voir la différence entre lancer MySQL en ligne de commande et le lancer en service.

    Qu'advient t-il des autres paramètres définit dans my.ini, est ce que ce
    fichier est lu par MySQL lors du lancement ?

    Pour arrêter le serveur j'ai vu que la commande était:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysqladmin -u root shutdown
    Mais j'ai une erreur car il me demande le mot de passe root (ce qui ne m'arrange pas dans mon .bat).
    Est-il possible d'arrêter le serveur sans mot de passe ?

  10. #10
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    445
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 445
    Points : 622
    Points
    622
    Par défaut
    Oui ton my.ini est lu car si tu ne précises rien c'est celui utilisé.

    Pour arrêter le serveur, si il tourne en service, tu peux faire net stop mysql.

    Si tu veux le lancer en ligne de commande et si ton problème est la question, tu peux mettre le mot de passe dans la ligne de commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysqladmin -u root shutdown -pTurlututu
    Si ton problème est d'avoir le mot de passe en clair et beh je sais pas...

  11. #11
    Membre habitué Avatar de tintin72
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    663
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 663
    Points : 177
    Points
    177
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysqladmin -u root shutdown -pTurlututu
    Ah oui en effet, j'avais complètement oublié qu'on pouvait aussi faire comme ça.

    Les 2 solutions fonctionnent. La réécriture à la volée du fichier ini reste valable (c'est d'ailleurs ce que font les serveurs portables comme Wampee, Xammp etc...), et le démarrage en ligne de commande est aussi une bonne alternative.
    Il faut maintenant voir les avantages et inconvénients entre lancer MySQL en tant qu'application ou en tant que service.

    En tout cas merci pour ton aide.

Discussions similaires

  1. Réponses: 3
    Dernier message: 05/02/2008, 10h57
  2. comment définir la taille d'un gridview dynamiquement
    Par cortex024 dans le forum ASP.NET
    Réponses: 8
    Dernier message: 23/01/2008, 17h05
  3. [Reporting Services] Définir dynamiquement la langue du rapport
    Par tetaslap dans le forum MS SQL Server
    Réponses: 0
    Dernier message: 05/09/2007, 11h47
  4. [VB]Définir un événement à un controle créé dynamiquement
    Par Ooly2001 dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 19/01/2006, 11h15
  5. [vb.net] définir un textbox dynamiquement
    Par arnolem dans le forum Windows Forms
    Réponses: 13
    Dernier message: 05/12/2005, 15h51

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