Petit serveur intranet "in progress" mais ...

lemon bubble

Membre actif
5 Septembre 2001
165
2
47
01
www.terral-designer.com
Bonjour,

Au sein de ma boite je suis en train de mettre en place un serveur sous OS X,
- Apache, ok
- WebAdmin, finger in the nose ...
- Php, Yes
- MySql - CA COINCE !!!

J'ai installé le package "CompleteMySQL-3.23.54a" avec le prefpanes MySQL Server et là aprés avoir fait "Initialize" impossible de faire "Start". Voici le log d'error :

030212 15:18:44 mysqld started
030212 15:18:44 Can't start server : Bind on unix socket: Permission denied
030212 15:18:44 Do you already have another mysqld server running on socket: /tmp/mysql.sock ?
030212 15:18:44 Aborting

030212 15:18:44 /Library/MySQL/libexec/mysqld: Shutdown Complete

030212 15:18:44 mysqld ended

Quid ? Mysql tournait-il déjà ? Comment le savoir ?

Merci pour vos lumières

Lemon Bubble
 
>Pour savoir si mysql tourne déjà, fais donc un
>
>ps -auxcc | grep mysql
>
>Si tu vois une ligne avec tout à droite mysqld, c'est qu'il >tourne déjà...

Merci Olof de t'être collé au problème ... :-)

Alors il se passe ..... rien, nada
je vais remettre les mains dans le cambouis ...

A+

Lemon Bubble
 
Le message dit relativement clairement que mysql n'arrive pas à communiquer par les socket.
Deux solutions.
Soit tu a mal fait ton install et les droits d'acces de l'utilisateur mysql ne sont pas bons
Soit tu t'affranchie de l'utilisation des socket en commentant la section socket unix dans le fichier de config de mysql
Ton serveur doit alors être accessible en tcp ip.
Cependant ce genre d'opération peut ralentir le serveur en cas d'utilisation de grosse base de données (GO)
 
salut,

>Soit tu a mal fait ton install et les droits d'acces de l'utilisateur >mysql ne sont pas bons

J'ai suivi scrupuleusement la manip nécessaire décrite sur le site "Project:omega" -> dupliquer via netinfo l'utilisateur www-le renommer en mysql et un gid en 401 .... comment savoir si les droits ne sont pas bons ?

>Soit tu t'affranchie de l'utilisation des socket en commentant la >section socket unix dans le fichier de config de mysql

Excuse moi si je suis un peu boulet sur le coup mais comment faire la manip que tu m'indique ?

Cordialement

Lemon Bubble
 
Bon j'ai rencontré beaucoup de prob. avec cette install. et je pense avoir résolu le prob.
Tout d'abord si tu lances direct. mysql au boot dit moi quelle est la ligne de commande qui le lance genre :

./bin/safe_mysqld --user=mysql &

essaye de lancer la même chose de ton terminal et regarde avec un ps -ax si mysql tourne

Si ce n'est pad le cas essaye avec ton nom de login :

Disons que tu te connectes avec le log pipo alors regarde si la commande :

./bin/safe_mysqld --user=pipo &

se lance en vérifiant avec un ps -ax

La suite aprés tes tests
crazy.gif
 
>Excuse moi si je suis un peu boulet sur le coup mais comment faire la manip que tu m'indique ?

Recherche un fichier nomer mysql.cnf dans le rep de mysql et met un # a tout ce qui comporte sock

ce qui devrait donner

<font class="small">Code:</font><hr /><pre>
[mysqld]
port=3306
#socket=/var/MySQL
</pre><hr />
 
<blockquote><font class="small">Post&eacute; &agrave; l'origine par patrice79:</font><hr />

./bin/safe_mysqld --user=pipo &amp;


[/QUOTE]

C'est un peut dangereux de faire cela.
Dans ce ca le deamond mysql aurait les droits d'un utilisateur avec pouvoir.
Il serait alors tres facile de recuperer des données sur le server avec une simple requette sql.
 
<blockquote><font class="small">Post&eacute; &agrave; l'origine par omiossec:</font><hr /> &gt;

Recherche un fichier nomer mysql.cnf dans le rep de mysql et met un # a tout ce qui comporte sock

ce qui devrait donner

<font class="small">Code:</font><hr /><pre>
[mysqld]
port=3306
#socket=/var/MySQL
</pre><hr />


[/QUOTE]


Non non tu dois avoir normalement un fichier dans /Library/Startupitems/Mysql qui se nomme Mysql qui lance la mysql

c'est dans ce fichier que tu dois trouver la ligne de commande lançant mysql au boot
 
<blockquote><font class="small">Post&eacute; &agrave; l'origine par omiossec:</font><hr />

C'est un peut dangereux de faire cela.
Dans ce ca le deamond mysql aurait les droits d'un utilisateur avec pouvoir.
Il serait alors tres facile de recuperer des données sur le server avec une simple requette sql.


[/QUOTE]

1) C'est un test pour voir si le problème est le fait de droit de ton user mysql !..
2) je ne pense pas que cela soit si facile que ça :-)

 
<blockquote><font class="small">Post&eacute; &agrave; l'origine par patrice79:</font><hr />

2) je ne pense pas que cela soit si facile que ça :-)



[/QUOTE]

Select 'root', '123' into outfile '/etc/password' from une_table pour modifier un mot de passe par example

Il y a encode d'autre moyen encore plus perfide
 
Bonjour

Voici les manip effectués :

La première conseillée par Patrice79
./bin/safe_mysqld --user=mysql &amp;

Le résultat :
[sterral:/Library/MySQL] sterral% ./bin/safe_mysqld --user=mysql
touch: /Library/MySQL/var/sterral.local..err: Permission denied
chown: /Library/MySQL/var/sterral.local..err: Operation not permitted
Starting mysqld daemon with databases from /Library/MySQL/var
./bin/safe_mysqld: /Library/MySQL/var/sterral.local..err: Permission denied
./bin/safe_mysqld: /Library/MySQL/var/sterral.local..err: Permission denied
tee: /Library/MySQL/var/sterral.local..err: Permission denied
030217 12:33:30 mysqld ended
tee: /Library/MySQL/var/sterral.local..err: Permission denied

La deuxième toujours conseillée par Patrice79
./bin/safe_mysqld --user=sterral &amp;

Le résultat:
[sterral:/Library/MySQL] sterral% ./bin/safe_mysqld --user=sterral
touch: /Library/MySQL/var/sterral.local..err: Permission denied
chown: /Library/MySQL/var/sterral.local..err: Operation not permitted
Starting mysqld daemon with databases from /Library/MySQL/var
./bin/safe_mysqld: /Library/MySQL/var/sterral.local..err: Permission denied
./bin/safe_mysqld: /Library/MySQL/var/sterral.local..err: Permission denied
tee: /Library/MySQL/var/sterral.local..err: Permission denied
030217 12:34:08 mysqld ended
tee: /Library/MySQL/var/sterral.local..err: Permission denied

Bref y a des soucis dans les droits d'accés non ?

enfin, et pour finir j'ai essayé la manip de mettre un # devant tout les socket dans le fichier my.conf (il s'appelle comme cela apparement) et ... non cela ne marche pas non plus.

Je précise que ma distrib est la "mysql-3.23.55.pkg"

voilà, voilà
 
Voici la réponse de la commande :

[sterral:~] sterral% ls -l /Library/MySQL/var/
total 16
-rw-r--r-- 1 mysql 74 2500 Feb 17 12:42 my.conf
drwx------ 20 mysql 74 680 Feb 13 14:23 mysql
-rw-rw---- 1 mysql 74 2970 Feb 17 13:52 sterral.local..err
drwx------ 2 mysql 74 68 Feb 13 14:23 test


Allez je désinstalle tout et refait une installe sous root.

A+
 
</font><blockquote><font class="small">En r&eacute;ponse &agrave;:</font><hr />
[sterral:~] sterral% ls -l /Library/MySQL/var/
total 16
-rw-r--r-- 1 mysql 74 2500 Feb 17 12:42 my.conf
drwx------ 20 mysql 74 680 Feb 13 14:23 mysql
-rw-rw---- 1 mysql 74 2970 Feb 17 13:52 sterral.local..err
drwx------ 2 mysql 74 68 Feb 13 14:23 test

[/QUOTE]
Il faudrait que l'utilisateur mysql puisse utiliser le fichier sterral.local..err il faudrait quil est rwx chmod -R go-rwx

Quant à l'utilisation de mysql sous root sans encore plus dangereux pour votre serveur.
 
Il faut effectivement faire un chown -R mysql/ mysql

De plus il serait interressant de faire un cat sur sterral.local..err
afin de voir ce que contient le log souvent riche d'enseignement !
 
Salut mes "anges gardiens"

alors la commande chown -R mysql/ mysql
me répond un joli
chown: mysql/: invalid user name

la syntaxe est-elle bonne ?
usage: chown [-R [-H | -L | -P]] [-fh] [owner][:group] file ...

Sinon le sterral.local..err est hélas peu interressant :
030213 12:04:34 mysqld started
030213 12:04:34 Can't start server : Bind on unix socket: Permission denied
030213 12:04:34 Do you already have another mysqld server running on socket: /tmp/mysql.sock ?
030213 12:04:34 Aborting

030213 12:04:34 /Library/MySQL/libexec/mysqld: Shutdown Complete

030213 12:04:34 mysqld ended

030213 12:08:22 mysqld started
030213 12:08:22 Can't start server : Bind on unix socket: Permission denied
030213 12:08:22 Do you already have another mysqld server running on socket: /tmp/mysql.sock ?
030213 12:08:22 Aborting

030213 12:08:22 /Library/MySQL/libexec/mysqld: Shutdown Complete

030213 12:08:22 mysqld ended

030213 14:23:36 mysqld started
030213 14:23:36 Can't start server : Bind on unix socket: Permission denied
030213 14:23:36 Do you already have another mysqld server running on socket: /tmp/mysql.sock ?
030213 14:23:36 Aborting

030213 14:23:36 /Library/MySQL/libexec/mysqld: Shutdown Complete

030213 14:23:36 mysqld ended

030213 14:23:51 mysqld started
030213 14:23:51 Can't start server : Bind on unix socket: Permission denied
030213 14:23:51 Do you already have another mysqld server running on socket: /tmp/mysql.sock ?
030213 14:23:51 Aborting

030213 14:23:51 /Library/MySQL/libexec/mysqld: Shutdown Complete

030213 14:23:51 mysqld ended

030213 14:23:59 mysqld started
030213 14:24:00 Can't start server : Bind on unix socket: Permission denied
030213 14:24:00 Do you already have another mysqld server running on socket: /tmp/mysql.sock ?
030213 14:24:00 Aborting

030213 14:24:00 /Library/MySQL/libexec/mysqld: Shutdown Complete

030213 14:24:00 mysqld ended

030214 09:09:47 mysqld started
030214 9:09:55 Can't start server : Bind on unix socket: Permission denied
030214 9:09:55 Do you already have another mysqld server running on socket: /tmp/mysql.sock ?
030214 9:09:55 Aborting

030214 9:09:56 /Library/MySQL/libexec/mysqld: Shutdown Complete

030214 09:09:56 mysqld ended

030217 12:29:59 mysqld started
030217 12:29:59 Can't start server : Bind on unix socket: Permission denied
030217 12:29:59 Do you already have another mysqld server running on socket: /tmp/mysql.sock ?
030217 12:29:59 Aborting

030217 12:29:59 /Library/MySQL/libexec/mysqld: Shutdown Complete

030217 12:29:59 mysqld ended

030217 12:43:17 mysqld started
030217 12:43:18 Can't start server : Bind on unix socket: Permission denied
030217 12:43:18 Do you already have another mysqld server running on socket: /tmp/mysql.sock ?
030217 12:43:18 Aborting

030217 12:43:18 /Library/MySQL/libexec/mysqld: Shutdown Complete

030217 12:43:18 mysqld ended

030217 13:52:01 mysqld started
030217 13:52:03 Can't start server : Bind on unix socket: Permission denied
030217 13:52:03 Do you already have another mysqld server running on socket: /tmp/mysql.sock ?
030217 13:52:03 Aborting

030217 13:52:03 /Library/MySQL/libexec/mysqld: Shutdown Complete

030217 13:52:03 mysqld ended

030218 17:21:16 mysqld started
030218 17:21:16 Can't start server : Bind on unix socket: Permission denied
030218 17:21:16 Do you already have another mysqld server running on socket: /tmp/mysql.sock ?
030218 17:21:16 Aborting

030218 17:21:16 /Library/MySQL/libexec/mysqld: Shutdown Complete

030218 17:21:16 mysqld ended

Alors ?

Je sens qu'on va y arriver ...
A la fin je vous paye un poulet de bresse à la crème (ma région) pour tout le mal que vous vous donnez pour mes chtis problèmes ;-)

Merci

Lemon bubble
 
<blockquote><font class="small">Post&eacute; &agrave; l'origine par omiossec:</font><hr /> Petite question avant de répondre de quel groupe fait partie l'utilisateur mysql.

[/QUOTE]

le user mysql fait partie du groupe Mysql le tout créé via netinfo à partir du group et du user www

<blockquote><font class="small">Post&eacute; &agrave; l'origine par omiossec:</font><hr />
De plus il me semble specifier le groupe n'est pas obligatoire et que le separateur user groupe est le : et non le /


[/QUOTE]

réponse

[sterral:~] sterral% chown -R mysql: mysql
chown: mysql: No such file or directory

Voili, voilo