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

 MySQL Discussion :

Exécuter des commandes SQL à partir d'un fichier


Sujet :

MySQL

  1. #21
    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 466
    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 466
    Points : 19 456
    Points
    19 456
    Par défaut
    Salut Liegecam64.

    L'erreur provient des guillemets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sc create mysqld start= auto DisplayName= mysqld binpath= "\"c:/Mysql/mysql-8.0.21-winx64/bin/mysqld.exe\" --defaults-file= \"C:/Mysql/mysql-8.0.21-winx64/my.ini\""
    Il y a un paramètre à passer à l'exécutable dans "binpath= ".
    Cela comprend le chemin vers l'exécutable ainsi que le paramètre "--default-file".
    Tous les guillemets doivent être précédés par un "\", c'est-à-dire le caractère escape afin que lee guillemet ne soit pas interprété comme un délimiteur de chaîne de caractères par windows, sauf pour le premier et le dernier guillemet.

    J'ai augmenté la taille du caractère que j'ai mis en rouge, afin de bien mettre en évidence les guillemets avec le caractère escape devant.

    @+

  2. #22
    Membre à l'essai
    Homme Profil pro
    Retraité
    Inscrit en
    Février 2014
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Février 2014
    Messages : 58
    Points : 18
    Points
    18
    Par défaut
    Bonjour Artemus 24
    Convaincu que je n'avais pas correctement suivi vos instructions pour l'installation de MySQL, j'ai effacé ce répertoire et j'ai tout recommencé. Préalablement j'ai relu toutes directives et j'ai rédigé un modus-opérandi. Puis-je me permettre de vous le soumettre pour lecture et corrections éventuelles ?
    Ensuite, j'ai refait toutes les opérations. Après avoir lancé en tant qu'administrateur le code pour créer le service mysqld, l'écran affiche que le service est correctement installé.
    Lorsque je lance le service, start mysqld l'écran affiche que le système ne peut trouver le fichier mysqld. Voulez-vous bien encore m'aider ? Merci d'avance.

  3. #23
    Membre à l'essai
    Homme Profil pro
    Retraité
    Inscrit en
    Février 2014
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Février 2014
    Messages : 58
    Points : 18
    Points
    18
    Par défaut
    Bonjour Artemus24
    Je viens encore d'essayer maintenant.
    Lorsque je lance dans l'invite dos :
    Voila ce que j'obtiens.
    [SC] StartService: OpenService échec(s) 5 :
    Lorsque j'ouvre la fenêtre dos en tant qu'administrateur et que je lance :
    Voila ce que j'obtiens
    [SC] StartService échec(s) 1053 :
    Le service n’a pas répondu assez vite à la demande de lancement ou de contrôle.
    J'espère que ces renseignements vous aideront à me faire avancer dans l'installation de MySQL.
    Je vous remercie d'avance.

  4. #24
    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 466
    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 466
    Points : 19 456
    Points
    19 456
    Par défaut
    Salut Liegecam64.

    J'ai surtout l'impression que vous faites des choses sans comprendre ce que vous faites.

    Le service mysqld doit être créé en mode administrateur.
    Vous devez vérifier le chemin vers l'exécutable, celui de "binpath= ".
    Mais aussi celui vers le fichier "my.ini". Avez-vous créé un fichier "my.ini" ?

    Comme je ne connais pas votre environnement, il m'est difficile, à distance, de vous aider.

    @+

  5. #25
    Membre à l'essai
    Homme Profil pro
    Retraité
    Inscrit en
    Février 2014
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Février 2014
    Messages : 58
    Points : 18
    Points
    18
    Par défaut
    Bonsoir Artemus24
    J'ai eu mon premier ordinateur à l'apparition de Windows. Je n'ai donc jamais travaillé avec le DOS.
    Jusqu'à présent je me suis toujours servi des programmes Microsoft ou compatibles.
    Effectivement, parfois je fais des choses sans nécessairement les comprendre. Je me fie à vos conseils. Mais je serais ravi d'apprendre de vous comment je peux m'instruire.
    J'ai créé le service mysqld en mode administrateur.
    J'ai consulté tous les répertoires de C:\MySQL\mysql-8.0.21-winx64 et le n'ai pas trouvé l'exécutable "binpath="
    my.ini se trouve dans le répertoire de C:\MySQL\mysql-8.0.21-winx64
    Qu'est-ce que mon environnement et comment puis je vous le faire connaître ?
    Je reste à votre disposition pour tout complément d'information et vous remercie pour votre aide.

  6. #26
    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 466
    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 466
    Points : 19 456
    Points
    19 456
    Par défaut
    Salut Liegecam64.

    Je vous assure que l'exécutable mysqld.exe se trouve bien, selon votre chemin, dans "c:/Mysql/mysql-8.0.21-winx64/bin/mysqld.exe".

    @+

  7. #27
    Membre à l'essai
    Homme Profil pro
    Retraité
    Inscrit en
    Février 2014
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Février 2014
    Messages : 58
    Points : 18
    Points
    18
    Par défaut
    Bonjour Artemus24

    Je n'ai probablement pas compris une de vos instructions car lorsque je lance la commande :

    j'obtiens ceci :

    J'ai téléchargé le programme "looping" et je viens de recevoir le livre "Modélisation Conceptuelle des Données" de Patrick Bergougnoux.
    Je viens de commencer la lecture de ce livre et j'aimerais bien pouvoir commencer la création de ma base de données.
    Je vous remercie pour votre patience et pour l'aide que vous m'apportez.

  8. #28
    Membre à l'essai
    Homme Profil pro
    Retraité
    Inscrit en
    Février 2014
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Février 2014
    Messages : 58
    Points : 18
    Points
    18
    Par défaut
    Bonjour Artemus24
    Je viens encore vous importuner afin de m'aider à accéder à l'invite MySQL. Je vous prie de trouver ci-après toutes les opérations que j'ai effectuées sans résultat positif.

    J'ai téléchargé "Windows (x86, 64 bits), archive ZIP" sur le site --> https://dev.mysql.com/downloads/mysql/.
    Après la décompression, j'ai déplacé le répertoire à l'endroit "c:/mysql/".
    Ce répertoire a été nommé "c:/mysql/mysql8.0.21-winx64/".

    A l'intérieur, j'ai vérifié l’existence des répertoires "/bin", "/docs", "include", ...

    Création du répertoire "logs" et du fichier "mysql_error.log"

    Avec la commande "MKDIR" j'ai créé le répertoire "/logs" dans "C:\MySQL\mysql-8.0.21-winx64"

    A l'aide de Notepad++ j'ai créé le fichier "mysql_error.log". Celui-ci est resté vide et est placé dans le répertoire "logs".

    Création du fichier "my.ini
    Dans le répertoire "C:\MySQL\mysql-8.0.21-winx64" créer à l'aide de Notepad++ le fichier "my.ini".

    Code mysql :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    # ==================== #
    #     MySql Client     #
    # ==================== #
    *
    [client]
    port   = 3306
    socket = mysql
    *
    # ----------------------- #
    #     access features     #
    # ----------------------- #
    *
    host     = localhost
    user     = root
    password = root
    *
    # --------------- #
    #     Charset     #
    # --------------- #
    *
    default-character-set = latin1
    Création du répertoire "/data" à la racine "c:\mysql\mysql-8.0.21-winx64" :
    Avec la commande MKDIR j'ai créé le répertoire "/data" à la racine "c:\mysql\mysql-8.0.21-winx64" :

    Création du fichier "init.bat"
    Avec le code mysql ci-dessous j'ai créé à l'aide de Notepas++ le fichier "init.bat" et je l'ai enregistré dans le répertoire "data"

    Code mysql :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    @echo off
    *
    set PATH=.;c:\mysql\mysql-8.0.21-winx64\bin;
    *
    if exist c:\mysql\mysql-8.0.21-winx64\data (rmdir /S /Q c:\mysql\mysql-8.0.21-winx64\data)
    *
    mysqld  --initialize-insecure  --log-error-verbosity=3  --log-error=c:\mysql\mysql-8.0.21-winx64\logs\mysql_error.log
    *
    pause
    exit
    Placement et création des fichiers "test.bat" et "test.sql"
    J'ai créé un répertoire (noel) lequel contient les fichiers "test.bat" et test.sql". En effet, ces derniers doivent se trouver hors de l'arborescence " mysql-8.0.21-winx64".

    Création d'un Batch pour travailler avec des scripts mysql.
    A l'aide de Notepad++ j'ai créé un Batch pour travailler avec des scripts mysql. Il est nommé "test.bat" :

    Code mysql :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    @echo off
     
    setlocal enableDelayedExpansion
     
    chcp 1252 > nul
     
    set PATH=.;c:\Mysql\mysql-8.0.21-winx64\bin\;%PATH%
     
    SET FIC=%~nx0
    SET FIC=%FIC:bat=sql%
     
    @echo.
    mysql < %FIC%  --verbose  --force  --user root  --password 
     
    endlocal
    @echo.
    pause
    exit
    Création du fichier "test.sql" :
    A l'aide de Notepad++ créer ce fichier script test.sql :

    Code mysql :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    use mysql;
    select * from user;
    *
    exit
    Afin d'accéder à l'invite MySQL j'ai fait les manipulations suivantes en mode administrateur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    C:\WINDOWS\system32>cd\
     
    C:\>sc delete mysqld
    [SC] OpenService échec(s) 1060 :
     
    Le service spécifié n’existe pas en tant que service installé.
     
     
    C:\>sc create mysqld start= auto DisplayName= mysqld binpath= "\"c:/Mysql/mysql-8.0.21-winx64/bin/mysqld.exe\" --defaults-file= \"C:/Mysql/mysql-8.0.21-winx64/my.ini\""
    [SC] CreateService réussite(s)
     
    C:\>sc start mysqld
    [SC] StartService échec(s) 1053 :
     
    Le service n’a pas répondu assez vite à la demande de lancement ou de contrôle.
    Voulez-vous bien encore m'aider pour obtenir l'invite MySQL afin que je puisse envisager la reconstruction de la base de données pour TéléService.
    Lorsque la base de données sera construite je devrai encoder entre 1200 et 1500 courses et environ 800 utilisateurs dont certains ont des administrateurs de bien et ou de personnes de contact.

  9. #29
    Membre à l'essai
    Homme Profil pro
    Retraité
    Inscrit en
    Février 2014
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Février 2014
    Messages : 58
    Points : 18
    Points
    18
    Par défaut
    Sur le site Developpez.com dans la discussion "Service Windows - 1053", ANTiQUE en date du 19/08/2011 signale qu'au lancement d'un service une erreur Windows apparait.
    [SC] StartService échec(s) 1053 :
    Le service n'a pas répondu assez vite à la demande de lancement ou de contrôle.
    Le 20/08/2011 PascalC répond qu'il peut par exemple, procéder de cette manière :
    Code MySQL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    private bool _exit;
    private Thread _th;
    *
    void OnStart()
    {
       _exit = false;
       _th = new Thread(Run);
       _th.Start();
    }
    *
    void Run()
    {
       while (!_exit)
       {
          //.... travail à effectuer
       }
    }
    *
    void OnStop()
    {
       _exit = true;
       _th.Join();
    }
    Que puis-je faire avec ce code ? Je suppose que je dois en faire un fichier et si oui, comment dois-je le nommer et où dois-je le placer ?

Discussions similaires

  1. Réponses: 1
    Dernier message: 26/09/2016, 10h00
  2. Exécuter des commandes SQL*PLUS avec une app JAVA
    Par youness15 dans le forum Général Java
    Réponses: 14
    Dernier message: 11/12/2015, 13h42
  3. dynamic sql : exécuter des commandes sql d'une table
    Par bibi92 dans le forum Développement
    Réponses: 5
    Dernier message: 22/03/2010, 11h01
  4. Réponses: 2
    Dernier message: 25/03/2008, 17h41
  5. Lancer des commandes dos à partir d'un fichier texte
    Par tpdm dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 09/08/2005, 16h56

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