MAMP 包含的 MySQL 是否不包含配置文件?

我似乎找不到 MAMP附带的 MySQL 的 my.cnf 或其他配置文件。不包括一个吗?

78019 次浏览

No, it doesn't come with the my.cnf file

The MySQL server of MAMP (not PRO) will be started without any my.cnf file. But you can create your own my.cnf file.

  1. Stop servers
  2. Create a my.cnf file in /Applications/MAMP/conf/
  3. Add your content in to my.cnf
  4. Save my.cnf
  5. Start servers

You do not have to put a complete configuration in the my.cnf file. You can just add parts of a configuration ... for example:

[mysqld]
max_allowed_packet = 64M

Some standard my.cnf variants can be found at /Applications/MAMP/Library/support-files/

Invoking mysqld --verbose --help | less on the MAMP mysqld binary reports:

Default options are read from the following files in the given order: /etc/my.cnf /etc/mysql/my.cnf /Applications/MAMP/conf/my.cnf ~/.my.cnf

Copy one of the variants in /Applications/MAMP/Library/support-files/ to one of the locations in mysqld's search order above, and you should be good to go after restarting the daemon.

I found that MAMP PRO will create a my.cnf by default on startup under the MAMP/tmp directory if a ~/my.cnf is not provided ... grepping ps aux you may find the default location under /Applications/MAMP/tmp/my.cnf ...

 ps aux | grep mysql

Which provided the following...

root       284   0.0  0.1  2435544    532   ??  Ss    12:00AM   0:00.06 /bin/sh     /Applications/MAMP/Library/bin/mysqld_safe
--defaults-file=/Applications/MAMP/tmp/mysql/my.cnf
--port=8889 --socket=/Applications/MAMP/tmp/mysql/mysql.sock
--user=mysql --pid-file=/Applications/MAMP/tmp/mysql/mysql.pid
--log-error=/Applications/MAMP/logs/mysql_error_log.err
--tmpdir=/Applications/MAMP/tmp/mysql/tmpdir
--datadir=/Library/Application Support/appsolute/MAMP PRO/db/mysql

Since MAMP server generates my.cnf dynamically on MAMP server startup, it's best to use the following steps to add or edit the MySQL configuration:

  1. Stop MAMP server
  2. Goto Files > Edit Template > MySQL
  3. Make the necessary changes and save
  4. Restart MAMP

I tried this on MAMP PRO 3.5.

For MAMP 3.5 on Mac El Capitan, only this worked for me:

  1. Stop servers
  2. Create a my.cnf file in /Applications/MAMP/Library/
  3. Add your content into my.cnf like

    [mysqld] max_allowed_packet = 64M

  4. Save my.cnf

  5. Start servers

Not required to change ownership of file, it should work. Verify by running SHOW VARIABLES in phpmyadmin and look for your changed setting.