Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Installation
Installation Forum d'entraide sur les problèmes liés à l'installation de MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/09/2005, 13h46   #1
Membre Expert
 
Avatar de ska_root
 
Homme
Développeur informatique
Inscription : août 2005
Messages : 1 179
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 42
Localisation : France

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

Informations forums :
Inscription : août 2005
Messages : 1 179
Points : 1 580
Points : 1 580
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 :
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 :
Citation:
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]
ska_root est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/09/2005, 10h29   #2
Membre Expert
 
Avatar de ska_root
 
Homme
Développeur informatique
Inscription : août 2005
Messages : 1 179
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 42
Localisation : France

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

Informations forums :
Inscription : août 2005
Messages : 1 179
Points : 1 580
Points : 1 580
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 :
1
2
3
 
# mkdir /var/lib/mysql1
# mkdir /var/lib/mysql2
changer les droits récursivement
Code :
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 :
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 :
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 :
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 :
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 :
1
2
 
/etc/init.d/mysqld stop
creer le fichier /etc/multi_my.cnf
Code :
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 :
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 :
1
2
3
 
tail -f /var/log/mysqld1.log
tail -f /var/log/mysqld2.log
vérifier le contenu des serveurs
Code :
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 :
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
ska_root est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/09/2005, 11h32   #3
Provisoirement toléré
 
Avatar de Maximilian
 
Inscription : juin 2003
Messages : 2 622
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 2 622
Points : 2 505
Points : 2 505
Très instructif

Tu serais d'accord pour l'intégrer dans la FAQ (voire faire un article dessus) ?
__________________
Pensez au bouton
Maximilian est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/09/2005, 12h49   #4
Membre Expert
 
Avatar de ska_root
 
Homme
Développeur informatique
Inscription : août 2005
Messages : 1 179
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 42
Localisation : France

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

Informations forums :
Inscription : août 2005
Messages : 1 179
Points : 1 580
Points : 1 580
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 ?
ska_root est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2009, 14h20   #5
Invité de passage
 
Inscription : juillet 2009
Messages : 3
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 3
Points : 1
Points : 1
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)...
ace13002 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h37.


 
 
 
 
Partenaires

Hébergement Web