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 :

Accéder à une BDD via un programme : faut-il auparavant démarrer le serveur mysql ?


Sujet :

MySQL

  1. #1
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 886
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 886
    Points : 3 725
    Points
    3 725
    Par défaut Accéder à une BDD via un programme : faut-il auparavant démarrer le serveur mysql ?
    Salut,

    Lorsque l'on veut accéder à une BDD via un programme (écrit par exemple en PHP ou Python) : faut-il auparavant démarrer ("manuellement) le serveur mysql ou bien la librairie utilisée dans le programme s'en occupe ("automatiquement") ?

    Merci.

  2. #2
    Membre émérite
    Homme Profil pro
    tripatouilleur de code pour améliorer mon quotidien boulistique
    Inscrit en
    Février 2008
    Messages
    939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : tripatouilleur de code pour améliorer mon quotidien boulistique
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2008
    Messages : 939
    Points : 2 287
    Points
    2 287
    Par défaut
    Bonjour

    Ma réponse est à prendre avec des pincettes, étant loin d'être un expert dans ce domaine.
    Néanmoins, je serais surpris que l'appel à une librairie démarre mysql automatiquement.
    En tout cas , sur mon serveur local (Uwamp) le démarrage de mysql est concomitant au démarrage du serveur.

    Je pense qu'il serait plus prudent de démarrer mysql en même temps que le serveur.

    Pierre

  3. #3
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 886
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 886
    Points : 3 725
    Points
    3 725
    Par défaut
    Salut,

    Merci pour la réponse...

    Oui dans le cas où on a un serveur web je suppose que ce dernier s'occupe de démarrer mysql...

    Mais je me demande ce qu'il en estt en local, si j'ai une application qui utilise une bdd mysql cela me semble étrange que l'utilisateur doive démarrer le serveur mysql avant d'utiliser l'application...

    Je sais qu'avec une bdd sqlite on n'a pas ce problème car il n'y a pas une architecture client-serveur...

  4. #4
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 311
    Points : 39 677
    Points
    39 677
    Billets dans le blog
    9
    Par défaut
    Une BDD peut être en maintenance, raison pour laquelle elle n'est pas accessible, ce n'est pas à l'application de la démarrer !

  5. #5
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 886
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 886
    Points : 3 725
    Points
    3 725
    Par défaut
    Salut,

    Merci.

    Citation Envoyé par escartefigue Voir le message
    Une BDD peut être en maintenance, raison pour laquelle elle n'est pas accessible, ce n'est pas à l'application de la démarrer !
    Oui mais qui démarre le serveur de BDD dans ce cas ?

  6. #6
    Membre chevronné Avatar de gabriel21
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    541
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2007
    Messages : 541
    Points : 1 959
    Points
    1 959
    Par défaut
    Citation Envoyé par Beginner. Voir le message
    Oui mais qui démarre le serveur de BDD dans ce cas ?
    L'administrateur de la BDD.
    Blague à part, les bases de données sont un métier à part entière : de leur conception à leur maintenance.
    Sauf si tu utilises SQLLite qui est une base de donnée fichier avec une bibliothèque permettant de manipuler ce fichier, les serveurs de bases de données vont du petit mysql embarqué dans une instance WAMP à des clusters de plusieurs centaines de machines capable de traiter des centaines de milliers de transactions par seconde et des téraoctet de données brutes (avec des notions de fail over, de réplication, d'équilibrage de charge, j'en passe des vertes et des pas mûr).
    En entreprise, la probabilité qu'un développeur ait la main sur le serveur de base de données, est proche de zéro. Souvent il est contenu dans une base de donnée, elle même limité en ressource.

    Ce qui veut dire :

    1. tu dois avoir un compte sur la base de donnée;
    2. des droits à minima de lecture, au mieux d'écriture à l’intérieur des tables de la base;
    3. l'architecture de la base de donnée (les tables, les indexs) sont créé par les administrateurs de la base à la mise en production de l'application.


    Ton logiciel doit donc pouvoir:
    1. gérer les erreurs de connexions;
    2. celle de droits;
    3. parler le langage de la base de donnée (souvent SQL, mais attention au nombreux dialectes)


    Donc pour répondre à ta question, non ton programme ne va pas lancer un serveur de base de donnée. Il va juste essayer de s'y connecter. Si tu fais du développement sur ta machine et que tu es l'administrateur de ta base de donnée, tu devras effectivement démarrer l'application avant ton programme. Sur WAMP, il est possible de le paramétrer pour qu'il démarre automatiquement le serveur de base de donnée au démarrage de l'application voir de la session.

  7. #7
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 886
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 886
    Points : 3 725
    Points
    3 725
    Par défaut
    Salut,

    Merci pour ces précisions.

    Citation Envoyé par gabriel21 Voir le message
    Donc pour répondre à ta question, non ton programme ne va pas lancer un serveur de base de donnée. Il va juste essayer de s'y connecter. Si tu fais du développement sur ta machine et que tu es l'administrateur de ta base de donnée, tu devras effectivement démarrer l'application avant ton programme. Sur WAMP, il est possible de le paramétrer pour qu'il démarre automatiquement le serveur de base de donnée au démarrage de l'application voir de la session.
    Oui je suis dans ce cas-là pour l'instant sauf que je ne veux pas installer wamp pour l'instant... Dans les tutos que je consulte l'auteur installe les différents éléments séparément : par exemple pour faire du php, il installe juste php et utilise alors le serveur interne qui est fournie avec (du coup pas besoin d'apache).

    Et pour mysql il l'installe et alors il peut y accéder via php ou python (il y a des modules pour ça).

    Pour sqlite, apparemment il n'y rien à installer et à démarrer : on crée un fichier et on y accède directe via notre programme Python (avec le module sqlite bien sûr).

    Mais pour mysql (qui est du type client-serveur contrairement à sqlite) doit-on démarrer le serveur mysql pour y accéder via python ou php (en local) ? C'est la question que je pose car les auteurs des tutos ne sont pas clairs là-dessus...

    Peut-être qu'ils n'en parlent pas car ce serait évident pour eux, en effet pour qu'un serveur réponde aux requêtes il faut bien qu'il soit à l'écoute et donc qu'il ait été démarré...

    Mais comment fait-on pour démarrer le serveur mysql (sans apache ou autre) ? Et peut-on le faire par programme ? Bon je vois qu'il y a la ligne de commande pour ça et donc on devrait pouvoir faire cela par programme mais je n'ai vu personne dans les tutos faire cela...

    Merci.

  8. #8
    Membre chevronné Avatar de gabriel21
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    541
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2007
    Messages : 541
    Points : 1 959
    Points
    1 959
    Par défaut
    Si tu ne maitrise pas l'installation et le démarrage de mysql, je te conseille vivement de passer par WAMP, XAMP ou tout autre version simplifiée de cette pile de développement. Elles sont là pour simplifier au maximum l'utilisation de ces outils qui vienne du monde Linux. Sinon voici un lien vers la documentation officiel d'Oracle : https://dev.mysql.com/doc/refman/8.0...tallation.html
    Si tu es sous Windows, je ne pourrais pas plus que ça t'aider, vu que je fais du Linux. Il doit être possible de créer un service Windows qui lance automatiquement mysql au démarrage.

    Attention, le serveur web embarqué par PHP est extrêmement limité.
    Apache ne démarre pas mysql. Il s'enfiche complétement.
    Il se contente d'envoyer un fichier php à l'interpréteur php qui lui va tenter de se connecter sur la base de donnée. S'il y parvient, il demande les données à la base de donnée, qui les lui fournit. Il les traite alors et renvoi la page html ainsi généré à Apache qui la fournit au client. L'interpréteur est démarré par un module Apache qui doit être installé, paramétré et activé.

    Sur les systèmes Linux, mysql est généralement mis en démarrage automatique au lancement, même si j'ai déjà vu des institutions qui le maintenait en manuel car il y avait des vérifications à faire en cas de crash système avant de relancer la base de donnée.

  9. #9
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 886
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 886
    Points : 3 725
    Points
    3 725
    Par défaut
    Merci.

  10. #10
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 886
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 886
    Points : 3 725
    Points
    3 725
    Par défaut
    Citation Envoyé par gabriel21 Voir le message
    Si tu es sous Windows, je ne pourrais pas plus que ça t'aider, vu que je fais du Linux. Il doit être possible de créer un service Windows qui lance automatiquement mysql au démarrage.
    Oui effectivement, c'est confirmé dans le lien que tu as donné :

    MySQL is now installed. If you configured MySQL as a service, then Windows automatically starts the MySQL server every time you restart the system. Also, this process installs the MySQL Installer application on the local host, which you can use later to upgrade or reconfigure MySQL server
    Ici il faut utiliser l'installeur windows...

    J'ai eu aussi confirmation qu'on pouvait le lancer via la ligne de commande...

Discussions similaires

  1. [Généralités] Accéder à une BDD via Internet
    Par aurabarth dans le forum WinDev
    Réponses: 6
    Dernier message: 25/09/2014, 19h07
  2. Accéder à une BDD Mysql WEB via un prog windows ?
    Par pepito62 dans le forum MySQL
    Réponses: 2
    Dernier message: 05/11/2008, 01h59
  3. Accéder à une bdd SQL server via un pc distant
    Par shako95 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 06/12/2005, 22h38
  4. [FireBird] Accéder à une vue via Excel
    Par Vonotar dans le forum Débuter
    Réponses: 1
    Dernier message: 07/12/2004, 09h31

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