Installation

MySQL a compilé un paquet pour nous. Téléchargez la version 32 bits (Mac OS X 10.5 (x86)) et installez le pkg fourni (mysql-5.0.51a-osx10.5-x86.pkg). Profitez-en pour installer le "prefPane" (MySQL.prefPane). Il permet de piloter MySQL depuis les Préférences systèmes.

MySQL se trouve à l'emplacement suivant : /usr/local/mysql-5.0.51a-osx10.5-x86/. À noter que l'installeur créé automatiquement un lien symbolique /usr/local/mysql

Normalement on se dit : "C'est sympa d'être sous Mac car tout est plus simple !". Et bien non ! Car si vous avez testé, le prefpane ne fonctionne pas pour lancer et arrêter MySQL mais il permet juste d'activer MySQL au démarrage de la machine. Ça c'est pour la partie visible, il y en a d'autres...

Comment lancer MySQL ?

Plutôt que de se rendre tout le temps dans le répertoire pour le lancer, on va commencer par ajouter le chemin de MySQL dans le PATH. Dans le terminal tapez :

echo 'export PATH=/usr/local/mysql/bin:$PATH' >> ~/.bash_profile

Relancez un terminal. Les commandes de MySQL doivent désormais être accessibles (tapez "mys" puis tab 2 fois).

Oui mais il est toujours pas lancé ! Certes ... on continu :

echo 'alias mysql_start="sudo /usr/local/mysql/support-files/mysql.server start"' >> ~/.bash_profile
echo 'alias mysql_stop="sudo /usr/local/mysql/support-files/mysql.server stop"' >> ~/.bash_profile
echo 'alias mysql_restart="sudo /usr/local/mysql/support-files/mysql.server restart"' >> ~/.bash_profile

Relancez un terminal et tapez :

macyb:~ Cyb$ mysql_start 
Password:
Starting MySQL
 SUCCESS!

MySQL est normalement lancé. On va vérifier quand même ...

macyb:~ Cyb$ ps aux | grep mysqld
Cyb      13259   0.0  0,0   599780    460 s001  R+   12:22     0:00.00 grep mysqld
_mysql   13228   0.0  0,6   635248  13444 s000  S    12:21     0:00.05 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql --pid-file=/usr/local/mysql/data/macyb.local.pid
root     13209   0.0  0,0   600252    776 s000  S    12:21     0:00.01 /bin/sh ./bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/macyb.local.pid

Le port 3306 (par défaut) doit être ouvert :

macyb:~ Cyb$ netstat -an | grep 3306
tcp4       0      0  *.3306                 *.*                    LISTEN

Un petit test en console :

macyb:~ Cyb$ mysql -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.0.51a MySQL Community Server (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> SELECT (2+2);
+-------+
| (2+2) |
+-------+
|     4 | 
+-------+
1 row in set (0.00 sec)

mysql> quit
Bye

Tout roule, on continu.

Modifier PHP pour qu'il trouve MySQL

Copiez le fichier de configuration de PHP par défaut :

sudo cp /etc/php.ini.default /etc/php.ini

Éditez-le (sudo vi /etc/php.ini) et trouvez la ligne suivante :

mysql.default_socket = 

Modifiez-la en :

mysql.default_socket = /tmp/mysql.sock

Si vous utilisez mysqli alors remplacez aussi la ligne suivante :

mysqli.default_socket = /tmp/mysql.sock

Il ne reste plus qu'a tester : dans un terminal...

php -r 'mysql_connect(localhost, root, ""); echo mysql_result(mysql_query("SELECT NOW();"),0)."\n";'

Vous devez voir la date courante (NOW).