installation Mysql

jmini

Membre actif
12 Novembre 2001
398
22
38
Metz
www.jmini.fr
Bonjour,

J'ai installé Mysql grâce à la distribution toute faite :
http://www.serverlogistics.com/mysql.php

Cette distribution à l'avantage de proposer un fichier .pkg (utilisable avec l'installateur Apple) et un PreferencesPane... idéal pour moi qui ne suis pas unix-geek.


Je m'étais déjà servi de cette distribution avec succès. En changeant de Mac, j'ai réimporté ma config et mes logiciels, mais visiblement j'ai raté quelque chose, car PHP et Mysql ne marchent plus.
Pour Php, c'est assez facile (une modif de /etc/httpd/httpd.conf décrite ici)
Pour Mysql, rien ne semblait fonctionner.

J'ai donc réinstallé le pakage de serverlogistics depuis le début.
J'ai bien suivi le guide (sauf la modification du fichier $PATH, mais je pense que c'est juste pour pouvoir taper mysql dans le terminal...)

Je pense que cela fonctionne, mais je n'arrive pas à me servir de Mysql dans les scripts PHP.
CocoaMySQL (équivalent de PhpMyAdmin en Cocoa) fonctionne bien.
http://cocoamysql.sourceforge.net/
J'arrive à me connecter aux bases et à faire les modifications sur la structure ou sur le contenu.

Par contre mes scripts php renvoie des erreurs :
Dans PhpMyAdmin :
MySQL a répondu:

#2002 - Le serveur ne répond pas. (ou l\interface de connexion ("socket") vers le serveur MySQL local n'est pas correctement configurée)

Dans un script simple :
Warning: mysql_connect() [function.mysql-connect]: Can't connect to local MySQL server through socket '/var/mysql/mysql.sock' (2) in /Users/jere/Sites/test/chat.php on line 20

la ligne 20 du fichier est :
Bloc de code:
mysql_connect("localhost", "root", "xxxxxx");
avec le bon mot de passe.

En analysant la chose, je me dis :
==> J'ai un problème de socket... Mais que faire ?
Je n'ai même pas de sous-dossier mysql/ dans /var


Merci pour votre aide.

.
 
php cherche /private/tmp/mysql.sock

/private/var/mysql/mysql.sock

demarre mysql --socket=/private/tmp/mysql.sock
et installe un packet from mysql.com
 
Pour transférer une base MySQL d'un Mac à un autre, j'aurais plutôt opté pour un export-import du contenu de la base. :zen:
 
php cherche /private/tmp/mysql.sock

/private/var/mysql/mysql.sock

demarre mysql --socket=/private/tmp/mysql.sock
et installe un packet from mysql.com

d'après ce que j'ai vu j'utilise déjà le bon socket :
Voila ce que j'obtiens dans le terminal avec la commande que tu m'as donné (spécification du socket) puis la commande \s :
Bloc de code:
mysql> \s
--------------
/Library/MySQL/bin/mysql  Ver 12.22 Distrib 4.0.21, for apple-darwin7.5.0 (powerpc)

Connection id:          3
Current database:
Current user:           jade@localhost
SSL:                    Not in use
Current pager:          stdout
Using outfile:          ''
Server version:         4.0.21 Complete MySQL by Server Logistics
Protocol version:       10
Connection:             Localhost via UNIX socket
Client characterset:    latin1
Server characterset:    latin1
UNIX socket:            /private/tmp/mysql.sock
Uptime:                 19 hours 50 min 28 sec

Est ce que tu peux m'en dire plus sur les "packet from mysql.com" parce que je ne vois pas bien où c'est sur leur site.

Pour transférer une base MySQL d'un Mac à un autre, j'aurais plutôt opté pour un export-import du contenu de la base. :zen:
Le but n'était pas de transférer les bases... C'est plutot un effet colatéral de l'utilitaire qui importe les config lors de l'installation d'un système...
Mysql marchait sur l'ancienne machine, et ne marche plus sur la nouvelle. En plus il a mal trasféré les fichiers, cela fait que l'installateur Mysql que j'utilise n'arrive pas à réinstaller, d'où mon problème... Le contenu des anciennes bases m'importe peu (il s'agit de bases de tests).


Merci pour vos réponses.

.
 
Ca y est !!!!
J'ai enfin trouvé !!!

Il s'agit bien d'un problème de position du socket mysql utilisé par les scripts php...

Par défaut, apache l'attend ici :
/var/mysql/mysql.sock

Celui installé par http://www.serverlogistics.com/ se trouve :
/tmp/mysql.sock (qui est l'ancien emplacement du Socket)

il faut donc indiquer que l'on veut utiliser cet ancien emplacement.
Cela se fait dans le fichier de configuration /etc/php.ini

il faut mettre la ligne :
Bloc de code:
mysql.default_socket = /tmp/mysql.sock

Tout est expliqué en francais sur le site d'apple (cela concerne la version serveur, mais c'est pareil)
Mac OS X Server 10.4.4 : améliorations de l'interaction Apache/PHP/MySQL


Merci pour votre aide...
 
  • J’aime
Réactions: GrandGibus
bonjour !

j'avais installé spip, php, mysql sur mon tiger et ça fonctionnait (installé le mysql de serverlogistic avec le panneau de préférences depuis lequel j'avais "set" le "root password")

ensuite j'ai bidouillé des trucs dans phpmyadmin (j'ai viré ttes les tables entre autre), et là plus rien marchait, mon serveur mysql démarrait plus

puis je suis passé à la méthode "Marc Liyanage" ; j'en suis donc à MySQL - 5.0.27-standard, téléchargé depuis mysql.com

mon serveur mysql fonctionne à nouveau, et je peux donc à nouveau accèder à phpmyadmin

mon problème : je n'ai plus de mot de passe root pour mysql ; en effet, je peux me connecter à phpmyadmin en mettant n'importe quoi comme user, et en laissant vide le champ du mot de passe

j'essaie de le paramétrer via "terminal" mais j'y arrive pas : j'ouvre terminal ; ça affiche : roscomputer:~ admin$
puis j'écris :
mysqladmin -u root password new_password_here
le terminal me dit : -bash: mysqladmin: command not found

qqn peut-il m'aider parce que je débute avec php et j'y pige encore qued pour le moment ec tous ces trucs de terminal qui me bouffent !

merci d'avance
 
j'essaie de le paramétrer via "terminal" mais j'y arrive pas : j'ouvre terminal ; ça affiche : roscomputer:~ admin$
puis j'écris :
mysqladmin -u root password new_password_here
le terminal me dit : -bash: mysqladmin: command not found


C'est normal tu ne donnes pas le chemin complet de la commande… La commande exacte c'est (copie-colle c'est plus sûr) :

Bloc de code:
/usr/local/mysql/bin/mysqladmin -u root password [I]new_password_here[/I]
 
C'est normal tu ne donnes pas le chemin complet de la commande… La commande exacte c'est (copie-colle c'est plus sûr) :

Bloc de code:
/usr/local/mysql/bin/mysqladmin -u root password [I]new_password_here[/I]

merci pour ta réponse ; j'avais essayé aussi je crois : voilà ce que me répond terminal :

/usr/local/mysql/bin/mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'
 
merci pour ta réponse ; j'avais essayé aussi je crois : voilà ce que me répond terminal :

/usr/local/mysql/bin/mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'

Le démon mysql est bien lancé (préférences)? Sinon je ne vois pas...

Ben ton mot de passe c'est :

new_password_here

:D:D:D

Héhé :D
 
c bon, ça marche, je peux me logger à phpmyadmin avec mon mot de passe "root" (qu'est pas "new_password_here" je te rassure supermoquette)

semblerait qu'il fallait ensuite stopper le serveur mysql puis le relancer ; et comme j'ai éteint ma machine, quand je suis revenu ce soir ça marchait ... super :) merci !