MySQL can read configuration files from different locations, which depend on configuration, platform and build options. Steps below will show a universal approach to list all locations where the configuration file is being looked.
1. Make sure that mysqld process is started without explicit –defaults-file or –defaults-extra-file parameters. Following commands will display actual arguments mysqld is started with:
Linux:
$ ps aux |grep mysqld
Solaris:
$ /usr/ucb/ps -alxwww | grep mysqld
Windows:
Command line arguments are observed in Task Manager when column ‘Command line’ is enabled. (View->’Select Columns’ menu option).
2. Following command will show locations where mysqld process reads configuration files:
Unix-like systems:
$ mysqld --help --verbose 2>1 | grep "/my.cnf"
Windows:
% mysqld --help --verbose --console 2>1 | findstr "my.ini"
3. If the command above brings no output, it may be needed to specify the full path to mysqld binary (found in step 1.).
4. If still no success, you may capture output of following command into text file:
$ mysqld --help --verbose
Then look for locations after the following message: “Default options are read from the following files in the given order:”