J'ai réussi à installer le serveur MySQL (5.5.11) sur mon MAC Snow Leopard. Je peux démarrer le serveur en utilisant PreferencePane, en utilisant la ligne de commande sudo /usr/local/mysql/bin/mysqld_safe
mais je ne peux pas utiliser la même commande dans AppleScript.
Voici la sortie de l'exécution de sudo /user/local/mysql/bin/mysql_safe
:
ngocminh@MBP[304]:~$ sudo /usr/local/mysql/bin/mysqld_safe
Mot de passe :
110428 09:52:03 mysqld_safe Logging to '/usr/local/mysql/data/MBP.local.err'.
110428 09:52:03 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
Le serveur Apache2 peut être démarré en utilisant la commande sudo apachetl start
, puis il pourrait être implémenté en utilisant un script AppleScript comme ceci:
do shell script "apachectl start" password "mypassword" user name "ngocminh" with administrator privileges
Cependant, je ne peux pas simplement faire la même chose pour démarrer le serveur mysql
do shell script "/usr/local/mysql/bin/mysqld_safe" password "mypassword" user name "ngocminh" with administrator privileges
Le résultat du script Apple dit:
"110428 11:03:06 mysqld_safe Logging to '/usr/local/mysql/data/MBP.local.err'.
110428 11:03:06 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
110428 11:03:06 mysqld_safe mysqld from pid file /usr/local/mysql/data/MBP.local.pid ended"
Alors le serveur MySQL ne peut pas être démarré!
Est-ce que quelqu'un pourrait dire ce qui ne va pas avec mon script ou si j'ai raté quelque chose. Toute suggestion sera grandement appréciée. Merci!
-- EDIT 1 --
Essayez d'exécuter ce script à la place
do shell script "apachectl start" password "mypassword" with administrator privileges do shell script "/usr/local/mysql/bin/mysqld_safe > /dev/null 2>&1 &" password "mypassword" with administrator privileges
Aucune erreur n'a été rapportée par AppleScript mais le serveur MySQL n'est toujours pas chargé selon la commande ps
ngocminh@MBP[315]:mysql$ ps aux | grep mysql
root 5652 0.0 0.0 2435544 872 s000 T 9:51AM 0:00.04 /bin/sh /usr/local/mysql/bin/mysqld_safe
ngocminh 16127 0.0 0.0 2435120 528 s001 R+ 2:30PM 0:00.00 grep mysql
ngocminh@MBP[315]:mysql$ ps aux | grep http
ngocminh 16141 0.0 0.0 2425524 172 s001 U+ 2:30PM 0:00.00 grep http
ngocminh 16092 0.0 0.0 2452692 644 ?? S 2:29PM 0:00.00 /usr/sbin/httpd -D FOREGROUND
ngocminh 16088 0.0 0.2 2456532 8960 ?? S 2:29PM 0:00.07 /usr/sbin/httpd -D FOREGROUND
root 16035 0.0 0.2 2452692 9832 ?? Ss 2:29PM 0:00.43 /usr/sbin/httpd -D FOREGROUND
-- EDIT 2-- PROBLÈME RÉSOLU!
J'ai trouvé la solution. Créez simplement un script Apple avec sudo
à l'intérieur pour le démarrage du serveur mysql
do shell script "apachectl start" password "mypassword" with administrator privileges
do shell script "sudo /usr/local/mysql/bin/mysqld_safe > /dev/null 2>&1 &" password "mypassword" with administrator privileges