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).