Aller au contenu


Photo

LEOPARD, MYSQL et PHP sont dans un bateau...


  • Please log in to reply
2 replies to this topic

#1 ungars

ungars

    Habitué(e)

  • Membres
  • PipPip
  • 109 Messages :
  • Configuration:iMAC 2Ghz Intel Core 2 Duo 1 Go 667 Mhz MAC OS X 10.6.8
  • Sexe:Masculin

Posté 03 mai 2009 - 14:30

Bonjour,

voici une petite synthèse pour s'y retrouver dans le tiroir à chaussettes entre MYSQL et PHP sous LEOPARD : la question est en effet très récurrente.

Il faut :

1) pour MySQL, copier dans /etc, au choix suivant les besoins, un des fichiers de configuration modèle :

/usr/local/mysql/support-file/my-large.cnf ou bien
/usr/local/mysql/support-file/my-medium.cnf ou bien
/usr/local/mysql/support-file/my-small.cnf

sous le nom my.cnf

2) modifier dans my.cnf la déclaration d'emplacement du socket :

# The following options will be passed to all MySQL clients
[client]
socket = /tmp/mysql.sock

# Here follows entries for some specific programs

# The MySQL server
[mysqld]
socket = /tmp/mysql.sock

En effet, c'est dans /tmp que le socket MySQL est écrit, quand MySQL est démarré, sinon c'est pas la peine de le rechercher... :burp:

3) Pour PHP (installé par défaut sous LEOPARD), créer un fichier php.ini toujours dans /etc à partir de php.ini.defaults et modifier là encore le chemin du socket MySQL :

; Default socket name for local MySQL connects. If empty, uses the built-in
; MySQL defaults.
mysql.default_socket = /tmp/mysql.sock

; Default socket name for local MySQL connects. If empty, uses the built-in
; MySQL defaults.
mysqli.default_socket = /tmp/mysql.sock

J'ai supprimé ensuite php.ini.defaults : comme php.ini reprend tout le contenu de toute manière, ça ne mange pas de pain.
Il faut être connecté en root sur la bécane pour pouvoir écrire dans ces répertoires. Personnellement j'utilise Text Wrangler pour manipuler ce genre de fichier, c'est tout de même plus cool que NANO ou PICO ou VIM sous la Terminal : on n'est plus à l'époque des cartes perforées !

http://www.barebones...gler/index.html

Pour démarrer MySQL, j'utilise le panel de préférence du même nom à installer dans les préférences systèmes. Il est dans le package MySQL. Il y a aussi les géniaux GUI Tools : MySQL Administrator et MYSQL Query Browser : là encore, même sur les gros MainFrame IBM sous z/OS (ex-OS/390, ex-MVS), on a ce genre d'outils, mais en mode texte sous TSO/ISPF, pour DB2 ! A utiliser sans trop de modération.

Une dernière chose pour utiliser PHP :

1) aller dans les préférences système/internet et réseau/partage et cocher partage web,
il y aura deux liens par défaut pour tester tes pages php/mysql affichés dans la panel :

http://192.168.0.10/
http://192.168.0.10/.../~<TonUserMAC>/

2) placer les scripts php dans /Users/<TonUserMAC>/Sites

Je pense qu'on doit pouvoir changer ce chemin par défaut sans trop de problèmes, mais j'ai plus d'aspirine :ouch:
C'est simple une fois que l'on sait comment faire, mais avant...

Deux derniers détails : quand on affiche le contenu de phpinfo(), on a à un moment

MYSQL_SOCKET /var/mysql/mysql.sock
mysql.default_socket /tmp/mysql.sock /tmp/mysql.sock
MYSQLI_SOCKET /var/mysql/mysql.sock

Je ne sais à quoi les lignes 1 et 3 correspondent : /var/mysql/ reste vide quand MySQL est activé ! Et le chemin par défaut est de toute manière "/tmp"...

De plus, sous MAC OS X, quand on utilise le menu du Finder "Aller à" pour aller à (ben ouais, kwa) "/var", en haut de la fenêtre on a "/private/var". Idem pour "/etc" par exemple...Cette information est rendue visible avec TinkerTool.
http://www.bresink.d...TinkerTool.html
Alors "/private/var" ou "/var" ? L'un est un synonyme de l'autre ? Aucun, les deux existent, mais le Finder se limite à /private" :


imac-de-<Ton-User-MAC>:~ <TonUserMAC>$ cd /private
imac-de-<Ton-User-MAC>:private <TonUserMAC>$ ls -Fla
total 0
drwxr-xr-x@ 6 root wheel 204 15 nov 2007 ./
drwxrwxr-t 40 root admin 1428 20 avr 22:08 ../
drwxr-xr-x 87 root wheel 2958 3 mai 13:44 etc/
drwxr-xr-x 2 root wheel 68 24 sep 2007 tftpboot/
drwxrwxrwt 10 root wheel 340 3 mai 14:09 tmp/
drwxr-xr-x@ 27 root wheel 918 2 mai 18:59 var/
imac-de-<Ton-User-MAC>:private <TonUserMAC>$ cd /var
imac-de-<Ton-User-MAC>:var <TonUserMAC>$ ls -Fla
total 0
drwxr-xr-x@ 27 root wheel 918 2 mai 18:59 ./
drwxr-xr-x@ 6 root wheel 204 15 nov 2007 ../
drwxrwxrwx@ 4 root wheel 136 12 jul 2008 Aventail/
drwx------ 2 root wheel 68 24 sep 2007 agentx/
drwxr-xr-x 6 _amavisd _amavisd 204 28 jui 2008 amavis/
drwxr-xr-x 8 daemon wheel 272 15 nov 2007 at/
drwxr-x--- 2 root admin 68 24 sep 2007 audit/
drwx------ 2 root wheel 68 23 sep 2007 backups/
drwxr-xr-x@ 28 root wheel 952 3 mai 13:45 db/
drwxr-xr-x 2 root sys 68 23 sep 2007 empty/
drwxr-xr-x 4 root wheel 136 28 jui 2008 folders/
drwxr-xr-x 43 root wheel 1462 2 mai 19:29 log/
drwxrwxr-x 2 root mail 68 23 sep 2007 mail/
drwxr-xr-x 3 root wheel 102 23 sep 2007 msgs/
drwxr-xr-x 2 root wheel 68 2 mai 18:59 mysql/
drwxr-xr-x 5 root wheel 170 25 sep 2007 named/
drwxr-xr-x 2 root wheel 68 23 sep 2007 netboot/
drwxr-x---+ 11 root wheel 374 2 mai 20:21 root/
drwxrwxr-x 26 root daemon 884 3 mai 14:03 run/
drwxr-xr-x 2 root wheel 68 23 sep 2007 rwho/
drwxr-xr-x 5 root wheel 170 26 sep 2007 samba/
drwxr-xr-x 7 root wheel 238 15 nov 2007 spool/
drwxrwxrwt 15 root wheel 510 3 mai 14:07 tmp/
drwxr-xr-x 2 _amavisd _amavisd 68 27 sep 2007 virusmails/
drwxr-xr-x 3 root wheel 102 3 mai 13:44 vm/
drwxr-xr-x 4 root wheel 136 24 sep 2007 xgrid/
drwxr-xr-x 4 root wheel 136 24 sep 2007 yp/
imac-de-<Ton-User-MAC>:var <TonUserMAC>$

imac-de-<Ton-User-MAC>:tmp <TonUserMAC>$ cd /tmp
imac-de-<Ton-User-MAC>:tmp <TonUserMAC>$ ls -Fla
total 0
drwxrwxrwt 11 root wheel 374 3 mai 14:28 ./
drwxr-xr-x@ 6 root wheel 204 15 nov 2007 ../
-rw------- 1 _www wheel 0 3 mai 14:03 aprgLbi6S
-rw------- 1 _www wheel 0 3 mai 14:03 aprngEerT
srwxrwxrwx 1 <TonUserMAC> wheel 0 3 mai 13:45 com.hp.launchport=
drwxr-xr-x 3 root wheel 102 3 mai 13:44 hsperfdata_root/
drwx------ 3 <TonUserMAC> wheel 102 3 mai 13:45 launch-7WaOBL/
drwx------ 3 <TonUserMAC> wheel 102 3 mai 13:45 launch-QGgSxe/
drwx------ 3 <TonUserMAC> wheel 102 3 mai 13:45 launch-QRec7g/
drwx------ 3 <TonUserMAC> wheel 102 3 mai 13:44 launchd-79.pj3qtk/
srwxrwxrwx 1 _mysql wheel 0 3 mai 14:28 mysql.sock=


#2 ungars

ungars

    Habitué(e)

  • Membres
  • PipPip
  • 109 Messages :
  • Configuration:iMAC 2Ghz Intel Core 2 Duo 1 Go 667 Mhz MAC OS X 10.6.8
  • Sexe:Masculin

Posté 25 juin 2009 - 20:46

Deux derniers détails : quand on affiche le contenu de phpinfo(), on a à un moment

MYSQL_SOCKET /var/mysql/mysql.sock
mysql.default_socket /tmp/mysql.sock /tmp/mysql.sock
MYSQLI_SOCKET /var/mysql/mysql.sock

Je ne sais à quoi les lignes 1 et 3 correspondent : /var/mysql/ reste vide quand MySQL est activé ! Et le chemin par défaut est de toute manière "/tmp"...


En fait, pas du fichier ".my.cnf" dans le répertoire $HOME...

# The following options will be passed to all MySQL clients
[client]
#password = your_password
port = 3306
socket = /private/tmp/mysql.sock

# Here follows entries for some specific programs

# The MySQL server
[mysqld]
port = 3306
socket = /private/tmp/mysql.sock


Et dans /etc/my.cnf (il n'y a pas de point au début...) :

# The following options will be passed to all MySQL clients
[client]
#password = your_password
port = 3306
socket = /tmp/mysql.sock

# Here follows entries for some specific programs

# The MySQL server
[mysqld]
port = 3306
socket = /tmp/mysql.sock


Il y a plusieurs endroits où le mettre :

/etc/my.cnf pour les Options globales
DATADIR/my.cnf pour les Options spécifiques au serveur
defaults-extra-file pour Le fichier spécifié par --defaults-extra-file=#
~/.my.cnf pour les Options spécifiques à l'utilisateur

Je suppose que c'est dans "DATADIR/my.cnf"...

Voir le référence manuel FR page "4.3.2. Fichier d'options my.cnf"...

DATADIR est le dossier de données de MySQL (typiquement /usr/local/mysql/data pour les installation binaires ou /
usr/local/var pour une installation source). Notez que c'est ce dossier qui a été spécifié au moment de la configuration et non
pas le dossier de l'option --datadir lorsque mysqld démarre ! (--datadir n'a aucun effet sur le serveur, car le serveur
recherche les données avant de traiter les options de ligne de commande).
MySQL essaie de lire les fichiers d'options dans l'ordre dans lequel ils sont présentés ci-dessus. Si un fichier d'options n'existe pas,
vous pouvez le créer avec un éditeur de texte. Si des options sont spécifiées plusieurs fois, la dernière occurrence utilisée prend la
préséance sur les options spécifiées avant.


Rappel sur quelques répertoires :

8 lrwxr-xr-x@ 1 root admin 11 15 nov 2007 etc@ -> private/etc
8 lrwxr-xr-x@ 1 root admin 11 15 nov 2007 tmp@ -> private/tmp
8 lrwxr-xr-x@ 1 root admin 11 15 nov 2007 var@ -> private/var

Voilà qui est clair...

je vais donc garder le fichier dans "/etc".

Ce message a été modifié par ungars - 25 juin 2009 - 20:52 .


#3 ungars

ungars

    Habitué(e)

  • Membres
  • PipPip
  • 109 Messages :
  • Configuration:iMAC 2Ghz Intel Core 2 Duo 1 Go 667 Mhz MAC OS X 10.6.8
  • Sexe:Masculin

Posté 21 juin 2012 - 22:27

J'ai viré MySQL ainsi :

sudo rm /usr/local/mysql
sudo rm -rf /usr/local/mysql*
sudo rm -rf /Library/StartupItems/MySQLCOM
sudo rm -rf /Library/PreferencePanes/My*
Editer /etc/hostconfig et retirer la ligne MYSQLCOM=-YES-
rm -rf ~/Library/PreferencePanes/My*
sudo rm -rf /Library/Receipts/mysql*
sudo rm -rf /Library/Receipts/MySQL*
sudo rm -rf /private/var/db/receipts/*mysql*

Sans oublier le / les fichier(s) "my.cnf", dans /etc et / ou dans $HOME

Et là, surprise au redémarrage : bien que MySQL ne tournait pas en tâche de fond, l'affichage du bureau a pris une sacrée accélération...
Je suis très dubitatif sur les éventuelles raisons : j'avais pris soin de laisser MYSQLCOM=-NO- dans mon /etc/hostconfig,
donc normalement /Library/StartupItems/MySQLCOM ne se lançait pas,
ou alors c'était invisible dans le Moniteur d'Activité !!!

PostgreSQL est bien plus agréable à utiliser : je l'utilise pour dev web sous GlassFish 3.11 et JSF 2 et NetBeans 7.11

:whistling:

Ce message a été modifié par ungars - 21 juin 2012 - 22:30 .





1 utilisateur(s) en train de lire ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)