What is the location of mysql client ".my.cnf" in XAMPP for Windows?

MysqlWindowsXampp

Mysql Problem Overview


What is the location of mysql client .my.cnf using XAMPP in Windows?

Clarification: This file does not exist by default, so when you create it, where should you place it, in order for the command line client to read it automatically?

Mysql Solutions


Solution 1 - Mysql

Type this:

mysql --help 

Then look at the output. There is a block of text about 3/4 the way down describing what files it finds its defaults .my.cnf from. Here is an example from XAMPP v3.2.1, default options are read from the following files in the given order:

C:\Windows\my.ini 
C:\Windows\my.cnf 
C:\my.ini 
C:\my.cnf 
C:\xampp\mysql\my.ini 
C:\xampp\mysql\my.cnf 
C:\xampp\mysql\bin\my.ini 
C:\xampp\mysql\bin\my.cnf

Your setup may differ. You will have to run the command to check the actual paths on your particular system.

Solution 2 - Mysql

Look in the MySQL config file C:\xampp\mysql\bin\my.ini.

At the top of that file are some comments:

# You can copy this file to
# C:/xampp/mysql/bin/my.cnf to set global options,
# mysql-data-dir/my.cnf to set server-specific options (in this
# installation this directory is C:/xampp/mysql/data) or
# ~/.my.cnf to set user-specific options.

There it tells you where to find your .my.cnf file.

Solution 3 - Mysql

After checking the default locations on Win7 with mysql --help and unable to find any config file, I manually searched for my.ini and found it at C:\ProgramData\MySQL\MySQL Server x.y (yep, ProgramData, not Program Files).

Though I used an own my.ini at Program Files, the other configuration overwrote my settings.

Solution 4 - Mysql

Go to control panel → services, look for MySQL and right click choose properties. If there, in “path to EXE file”, there is a parameter like

--defaults-file="X:\path\to\my.ini"

this is the file the server actually uses (independent of what mysql --help prints).

Solution 5 - Mysql

Using the XAMPP control panel, click on the Config button for MySQL and you'll find the file it's currently using.

Solution 6 - Mysql

XAMPP uses a file called mysql_start.bat to start MySQL and if you open that file with a text editor you can see what config file is trying to use, in the current version it is:

mysql\bin\mysqld --defaults-file=mysql\bin\my.ini --standalone --console

If you installed XAMPP on the default path it means it is on c:/xampp/mysql/bin/my.ini


If somehow the file doesn't exist you should open a console terminal (start-> type "cmd", press enter) and then write "mysql --help" and it prints a text mentioning the default locations, in the current version of XAMPP is:

C:\Windows\my.ini C:\Windows\my.cnf C:\my.ini C:\my.cnf C:\xampp\mysql\my.ini C:\xampp\mysql\my.cnf

Solution 7 - Mysql

It's usually in your MySQL installation folder like in C:\Program Files\MySQL\MySQL Server 5.5\my.ini or C:\xampp\mysql\bin

If it's not there, it's highly possible that you have none, and that MySQL is just loading default values.

You might have to enable hidden Files and Folders to see it. Go to Folder Options: in any folder, go to the top horizontal main text menu >> Tools >> Folder Options. Enable 'View Hidden Files and Folders', and 'View Protected System Files', save & exit

Solution 8 - Mysql

If you connect to the server with MySQL Workbench add look at 'Management' and 'Options File' in the menu on the left, then the location of the config file being used by that server is shown at the bottom of the pane on the right.

Solution 9 - Mysql

Create it yourself in folder c:\xampp\mysql.

Solution 10 - Mysql

On Windows you can open a command window and type the command

sc qc mysql

Or:

sc qc mariadb

which (depending on your flavor and version) will output something like:

[SC] QueryServiceConfig SUCCESS

SERVICE_NAME: mariadb
        TYPE               : 10  WIN32_OWN_PROCESS 
        START_TYPE         : 2   AUTO_START
        ERROR_CONTROL      : 1   NORMAL
        BINARY_PATH_NAME   : "C:\Program Files\MariaDB 10.4\bin\mysqld.exe" "--defaults-file=C:\Program Files\MariaDB 10.4\data\my.ini" "MariaDB"
        LOAD_ORDER_GROUP   : 
        TAG                : 0
        DISPLAY_NAME       : MariaDB
        DEPENDENCIES       : 
        SERVICE_START_NAME : NT AUTHORITY\NetworkService

From this you can see the location of the my.ini file.

You can also change it with the same "sc" command like this:

sc config mysql binPath= <binary path>

Or:

sc config mariadb binPath= <binary path>

For example:

sc config mariadb binpath= "\"C:\Program Files\MariaDB 10.4\bin\mysqld.exe\" \"--defaults-file=M:\data\my.ini\" \"MariaDB\""

Solution 11 - Mysql

Apologize for resurrect this thread, but for Windows 8.x users can find my.cnf at this folder:

C:\ProgramData\MySQL\MySQL Server 5.6\my.ini

Then also can find data folder on same folder.

Solution 12 - Mysql

If you're on Cygwin this command will show you the locations:

mysql --help |grep -A1 Default|grep my

Solution 13 - Mysql

Solution 14 - Mysql

I don't have XAMPP installed, but the question I did end up at when I couldn't find the my.cnf or my.ini (https://stackoverflow.com/questions/1712646/i-can-not-find-my-cnf-on-my-windows-computer) was closed, and led here.

So - If you've installed MariaDB on Windows, and followed Windows best practices to load data somewhere OTHER than \program files - in my case on a "d:" drive, then your my.ini will be located where you put your "data" directory.

Solution 15 - Mysql

If you install it directly with the community installer on windows 2008 server, it will reside on c:\ProgamData\MySql\MysqlServerVersion\my.ini

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionAlex RView Question on Stackoverflow
Solution 1 - MysqlBillyView Answer on Stackoverflow
Solution 2 - MysqlSudantha View Answer on Stackoverflow
Solution 3 - MysqlHein van DykeView Answer on Stackoverflow
Solution 4 - MysqlMatthias RongeView Answer on Stackoverflow
Solution 5 - MysqlMoustafa ElqabbanyView Answer on Stackoverflow
Solution 6 - MysqlIvan CastellanosView Answer on Stackoverflow
Solution 7 - MysqlESGView Answer on Stackoverflow
Solution 8 - MysqlGlenView Answer on Stackoverflow
Solution 9 - MysqlEbrahim AsadiView Answer on Stackoverflow
Solution 10 - Mysqlbikeman868View Answer on Stackoverflow
Solution 11 - MysqlCarlos SpohrView Answer on Stackoverflow
Solution 12 - MysqlkqwView Answer on Stackoverflow
Solution 13 - MysqlDevaniyasView Answer on Stackoverflow
Solution 14 - MysqlJ. GwinnerView Answer on Stackoverflow
Solution 15 - MysqljossView Answer on Stackoverflow