What is the location of mysql client .my.cnf
using XAMPP in Windows?
Clarification: This file does not exist by default, so when you cr
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
If you install it directly with the community installer on windows 2008 server, it will reside on c:\ProgamData\MySql\MysqlServerVersion\my.ini
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
Using the XAMPP control panel, click on the Config button for MySQL and you'll find the file it's currently using.
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.
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\""