简体   繁体   中英

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

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?

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.

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.

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 xy (yep, ProgramData , not Program Files ).

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

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).

使用 XAMPP 控制面板,单击 MySQL 的 Config 按钮,您将找到它当前正在使用的文件。

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

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

如果您使用 MySQL Workbench 连接到服务器,请在左侧菜单中添加查看“管理”和“选项文件”,则该服务器正在使用的配置文件的位置将显示在右侧窗格的底部.

在文件夹c:\\xampp\\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\""

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.

如果您使用 Cygwin,此命令将显示位置:

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

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 ( 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.

如果您直接使用 Windows 2008 服务器上的社区安装程序安装它,它将驻留在 c:\\ProgamData\\MySql\\MysqlServerVersion\\my.ini

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM