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 :

mysqld_multi configuration


Sujet :

Installation MySQL

  1. #1
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    Par défaut mysqld_multi configuration
    Bonjour,

    config : os FC4, mysql 4.1.14

    J'aimerais faire tourner 2 instances de serveur sur mon linux, je me suis donc penché sur la solution mysqld_multi, mais je n'arrive pas à la faire fonctionner...

    voici mon fichier de conf ( /etc/my.cnf ) :
    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
     
    [mysqld]
    mysqld = /usr/bin/mysqld_safe
    mysqladmin = /usr/bin/mysqladmin
    user = multi_admin
    password = xxxxxx
     
    [mysqld2]
    socket = /var/lib/mysql/mysql.sock
    port = 3306
    pid-file = /var/run/mysqld/mysqld.pid
    err-log = /var/log/mysqld.log
    datadir = /var/lib/mysql
    user = mysql
     
    [mysqld3]
    socket = /var/lib/mysql/mysql.sock2
    port = 3307
    pid-file = /var/run/mysqld/mysqld.pid2
    err-log = /var/log/mysqld.log2
    datadir = /var/lib/mysql2
    user = mysql
    si je lance mysqld_multi
    -> il me rend la main et rien ne se fait, aucun process mysqld...

    si je lance mysqld_safe &
    -> il me dit :
    The file /usr/libexec//usr/bin/mysqld_safe doesn't exist or is not executable
    Please do a cd to the mysql installation directory and restart
    this script from there as follows:
    ./bin/mysqld_safe.
    See http://dev.mysql.com/doc/mysql/en/mysqld_safe.html for more
    information
    quelqu'un a déjà travailler avec deux serveurs ?[/code]

  2. #2
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    Par défaut
    ok,

    bon ça marche, je donne la manip que j'ai réalisé, elle n'est peut-être pas parfaite, mais en tout cas cela fonctionne...

    je précise que je suis sous Fedora Core 4, que le service mysqld tourne déjà et qu'il existe déjà une base nommée mysql. ( utilisateurs et droits )

    creer 2 répertoires
    ce seront les repertoires ou sont stockés les base créées
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    # mkdir /var/lib/mysql1
    # mkdir /var/lib/mysql2
    changer les droits récursivement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    # chown -R mysql:mysql /var/lib/mysql1
    # chown -R mysql:mysql /var/lib/mysql2
    copier le repertoire /var/lib/mysql/mysql dans chacun des 2 repertoires
    je copie donc la base nommée mysql avec les utilisateurs déjà existants ( root sans mot de passe si vous n'en avez pas encore créer... )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    # cp -p -R /var/lib/mysql/mysql /var/lib/mysql1/
    # cp -p -R /var/lib/mysql/mysql /var/lib/mysql2/
    Téléchargez phpMyAdmin ( si ce n'est pas encore fait ), détarrez le dans le repertoire web, renommez le répertoire obtenu ( à l'heure où j'écris ces ligne il s'agit du répertoire : phpMyAdmin-2.6.3-pl1 ) en "sqladmin1".
    Copier ce répertoire avec comme nom "sqladmin2"
    ( si vous ne voulez pas d'alias Apache, au lieu de mettre /sites/html/mettez /var/www/html
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    # mv /sites/html/phpMyAdmin-2.6.3-pl1 /sites/html/sqladmin1
    # cp -p -R /sites/html/sqladmin1 /sites/html/sqladmin2
    éditer le fichier config.inc.php des 2 repertoires
    ** changer pour sqladmin1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $cfg['PmaAbsoluteUri'] = 'http://nom_du_serveur/sqladmin1/';
    $cfg['Servers'][$i]['port'] = '3306';
    $cfg['Servers'][$i]['socket'] = '/var/lib/mysql/mysql.sock1';
    $cfg['Servers'][$i]['connect_type']  = 'socket';
    $cfg['Servers'][$i]['auth_type'] = 'http';
    $cfg['Servers'][$i]['user'] = 'nom_utilisateur_avec_grant_privilege';
    ** changer pour sqladmin2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $cfg['PmaAbsoluteUri'] = 'http://nom_du_serveur/sqladmin2/';
    $cfg['Servers'][$i]['port'] = '3307';
    $cfg['Servers'][$i]['socket'] = '/var/lib/mysql/mysql.sock2';
    $cfg['Servers'][$i]['connect_type']  = 'socket';
    $cfg['Servers'][$i]['auth_type'] = 'http';
    $cfg['Servers'][$i]['user'] = 'nom_utilisateur_avec_grant_privilege';
    si vous voulez des alias, créer-les dans la conf apache et redémarrez le serveur http.

    si il tourne ( /etc/init.d/mysqld status ) arrêter le démon mysqld
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    /etc/init.d/mysqld stop
    creer le fichier /etc/multi_my.cnf
    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
    25
    26
     
    [mysqld_multi]
    mysqld = /usr/bin/mysqld_safe
    mysqladmin = /usr/bin/mysqladmin
     
    [mysqld1]
    datadir=/var/lib/mysql1
    socket=/var/lib/mysql/mysql.sock1
    port=3306
    old_passwords=1
    err-log=/var/log/mysqld1.log
    pid-file=/var/run/mysqld/mysqld.pid1
    user = mysql
     
    [mysqld2]
    datadir=/var/lib/mysql2
    socket=/var/lib/mysql/mysql.sock2
    port=3307
    old_passwords=1
    err-log=/var/log/mysqld2.log
    pid-file=/var/run/mysqld/mysqld.pid2
    user = mysql
     
    [mysql.server]
    user=mysql
    basedir=/var/lib
    lancez la commande mysqld_multi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    /usr/bin/mysqld_multi --config-file=/etc/multi_my.cnf start 1,2
    vérifier que tout va bien dans les logs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    tail -f /var/log/mysqld1.log
    tail -f /var/log/mysqld2.log
    vérifier le contenu des serveurs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    /usr/bin/mysqlshow -h localhost -u nom_utilisateur -p -P 3306
    -S /var/lib/mysql/mysql.sock1
     
    /usr/bin/mysqlshow -h localhost -u nom_utilisateur -p -P 3307
    -S /var/lib/mysql/mysql.sock2
    si tout s'est bien passé, créer un script de lancement et d'arrêt
    dans /etc/init.d ( je l'ai appelé multi_mysqld )
    et configurer system V de manière a démarrer les serveurs au boot
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    chkconfig --add multi_mysqld
    chkconfig --level 345 multi_mysqld on
    chkconfig --level 345 mysqld off
    faire un essai phpMyAdmin avec http://localhost/sqladmin1 et
    http://localhost/sqladmin2
    ( profitez-en pour modifier les utilisateurs et mot de passe, surtout si c'est root sans mot de passe ;-) )

    voila, si vous voulez compléter cette manip ou l'améliorer ou encore avoir des infos, n'hésitez pas

  3. #3
    Membre émérite Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Points : 2 973
    Points
    2 973
    Par défaut
    Très instructif

    Tu serais d'accord pour l'intégrer dans la FAQ (voire faire un article dessus) ?
    Pensez au bouton

  4. #4
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    Par défaut
    Citation Envoyé par Maximilian
    Très instructif

    Tu serais d'accord pour l'intégrer dans la FAQ (voire faire un article dessus) ?
    bien sûr si cela peut servir... mais je ne connais pas votre charte pour les articles
    tu peux m'en faire part ?

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3
    Points : 2
    Points
    2
    Par défaut ubuntu 8.04 (résolu) avec apparmor
    Salut

    J'ai vu pas mal de ce genre de config. Après moult essais, ça ne fonctionnait toujours pas
    UBUNTU 8.04

    J'ai modifié mon apparmor, et ça marche

    http://rajshekhar.net/blog/archives/...irectory..html

    Il ne reste qu'un détail :
    Quand je me connecte (en php), au lieu de préciser le port (localhost:3307) je dois préciser la socket (localhost:/var/run/mysqld/mysql.sock1)
    Sinon, il va chercher la socket par défaut (/var/run/mysqld/mysql.sock)...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. configurer sql pour envoyer des mails
    Par arwen dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 29/07/2003, 15h28
  2. [postgresql]configuration serveur
    Par Fyna dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 16/06/2003, 19h22
  3. [configuration] lancer plusieurs serveurs Tomcat
    Par polo54 dans le forum JBuilder
    Réponses: 4
    Dernier message: 13/06/2003, 15h52
  4. Configurer OpenGL/Glut avec C++Bluider
    Par MiGoN dans le forum OpenGL
    Réponses: 2
    Dernier message: 13/09/2002, 23h18
  5. BDE : Configurer automatiquement le NETDIR
    Par Harry dans le forum Paradox
    Réponses: 10
    Dernier message: 29/07/2002, 11h33

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