I don’t know why, but I was unable to get MySQL under MAMP 3.5 to read a my.cnf configuration file. I put that file in all of the usual places, but it wasn’t read. Then I tried to get it to read my configuration file by modifying this MAMP/MySQL startup script:
/Applications/MAMP/bin/startMysql.sh
but all I got then was an error message that these two options don’t work:
--defaults-file=FILE --defaults-extra-file=FILE
I got those errors even though those options are shown in the mysqld_safe help output:
$ mysqld_safe --help Usage: /Applications/MAMP/Library/bin/mysqld_safe [OPTIONS] --no-defaults Don't read the system defaults file --defaults-file=FILE Use the specified defaults file --defaults-extra-file=FILE Also use defaults from the specified file (more output here ...)
So what I did to solve this problem was to skip using a MySQL configuration file, and just put all of the options I wanted inside the MAMP MySQL startup script (/Applications/MAMP/bin/startMysql.sh).
The MAMP MySQL startup script
Here are the contents of the MAMP/MySQL startup script I created. I can confirm that this approach works with MAMP 3.5 on Mac OS X 10.10.5 (Yosemite):
/Applications/MAMP/Library/bin/mysqld_safe \
--port=8889 \
--socket=/Applications/MAMP/tmp/mysql/mysql.sock \
--pid-file=/Applications/MAMP/tmp/mysql/mysql.pid \
--slow_query_log_file=/Applications/MAMP/logs/mysql_slow_queries.log \
--slow_query_log=1 \
--long_query_time=2 \
--wait_timeout=28800 \
--interactive_timeout=28800 \
--log-error=/Applications/MAMP/logs/mysql_error_log &
# did not need this option
#--log_queries_not_using_indexes=1 \
So, while I can’t tell you how to get MAMP/MySQL to read a my.cnf configuration file, I can confirm that if you modify the MAMP/MySQL startup script as shown, this approach works.

