Mac, MAMP, MySQL & sensibilité à la casse
MAMP est un pack serveur web « All In One » tel que WAMP,XAMPP, … pour MacOSx. Cette application déploie sur votre mac un serveur MySQL, SQLLite, Apache et PHP.
Dernièrement, j’ai cherché à rendre les requêtes MySQL 5 insensibles à la casse. Cette sensibilité à la casse est due à l’architecture Unix du système d’exploitation. En effet, contrairement à Windows, les systèmes de fichiers des OS comme Mac et GNU/Linux, différencient les fichiers dont le nom est en majuscule ou minuscule. Ce principe est donc valable pour les tables MySQL qui sont stockées en tant que fichiers sur le système.
J’ai déjà eu le coup sous Linux. Il m’a fallu modifier le « My.cnf » afin d’y ajouter l’instruction :
lower_case_table_names = 1
dans la section [mysqld].
En installant MAMP, la sensibilité à la casse était configurée d’office. Comme sous Linux, j’ai modifié le « my.cnf » dans /Applications/MAMP/Library/my.cnf. A ma grande surprise ça n’a rien changé !
J’ai commencé à éplucher les forums de developpeurs, et finalement, c’est au lancement de la commande MySQL que cette option est forcée.
Ouvrons le fichier /Applications/MAMP/bin/startMysql.sh. Le contenu doit ressembler à peu de choses près, à ça :
# /bin/sh
/Applications/MAMP/Library/bin/mysqld_safe --port=3306 --socket=/Applications/MAMP/tmp/mysql/mysql.sock --lower_case_table_names=0 --pid-file=/Applications/MAMP/tmp/mysql/mysql.pid --log-error=/Applications/MAMP/logs/mysql_error_log &
Il suffit de remplacer :
--lower_case_table_names=0
par :
--lower_case_table_names=1
Et le tour est joué !
Laisser une réponse