Bug #68797 my.ini is not written to C:\Program Files\MySQL\MySQL Server 5.6
Submitted: 27 Mar 2013 14:12 Modified: 13 Jan 2015 8:57
Reporter: Superb Subs Email Updates:
Status: Unsupported Impact on me:
None 
Category:MySQL Server: Installing Severity:S3 (Non-critical)
Version:5.6.11 OS:Windows (8 x64)
Assigned to: CPU Architecture:Any
Tags: configuration, installer, my.ini

[27 Mar 2013 14:12] Superb Subs
Description:
When using the new MySQL Installer for Windows, it writes the configuration to:
C:\ProgramData\MySQL\MySQL Server 5.6

But the MySQL service is trying to load it (by default) from:
C:\Program Files\MySQL\MySQL Server 5.6

How to repeat:
Install the MySQL server using the official installer. Set your configuration via the installer.

Suggested fix:
Either make the service load my.ini from ProgramData (proper way of fixing), or save the config in Program Files.
[27 Mar 2013 14:16] Superb Subs
When running mysql.exe --help, it says:
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:\Program Files\MySQL\M
ySQL Server 5.6\my.ini c:\Program Files\MySQL\MySQL Server 5.6\my.cnf

Workaround (until issue is resolved): manually copy my.ini from ProgramData to Program Files.
[23 Apr 2013 20:16] MySQL Verification Team
Install Paths

Attachment: install_paths.png (image/png, text), 22.13 KiB.

[23 Apr 2013 20:17] MySQL Verification Team
Service running

Attachment: service_install.png (image/png, text), 38.46 KiB.

[23 Apr 2013 20:22] MySQL Verification Team
Thank you for the bug report. I have tested with 5.6.11 because the check process is done with latest release and I couldn't repeat. I attached 2 screenshot: 1- showing the Install and Data paths, 2- The service is running and shows the service image path with the my.ini file in the ProgramData directory. My Windows 8 is a fresh OS install. Please chech with new 5.6.11 installer. Thanks.
[14 May 2013 13:56] Superb Subs
Alright... Using the newest MySQL installer (5.6.11), the following command line parameter is automatically added to the service and the command line client start menu shortcut:
--defaults-file=C:\ProgramData\MySQL\MySQL Server 5.6\my.ini

But if I try to manually use any of the mysql binary tools (mysqlcheck.exe, mysqldump.exe, ...), they still try to load the my.ini from:

"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:\Program Files\MySQL\M
ySQL Server 5.6\my.ini c:\Program Files\MySQL\MySQL Server 5.6\my.cnf"

So Maybe it's time to add ProgramData\MySQL to the list? :) (or even give it precedence over all others)
[14 May 2013 13:59] Superb Subs
I meant "C:\ProgramData\MySQL\MySQL Server 5.6\my.ini", sorry... :o
[22 May 2013 22:01] MySQL Verification Team
Thank you for the feedback.

E:\Program Files\MySQL\MySQL Server 5.6\bin>mysqldump --help | more
mysqldump  Ver 10.13 Distrib 5.6.11, for Win64 (x86_64)
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Dumping structure and contents of MySQL databases and tables.
Usage: mysqldump [OPTIONS] database [tables]
OR     mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR     mysqldump [OPTIONS] --all-databases [OPTIONS]

Default options are read from the following files in the given order:
E:\WINDOWS\my.ini E:\WINDOWS\my.cnf C:\my.ini C:\my.cnf E:\Program Files\MySQL\M
ySQL Server 5.6\my.ini E:\Program Files\MySQL\MySQL Server 5.6\my.cnf
[26 May 2013 15:30] Superb Subs
Well, so I see that the my.ini in %ProgramData% (where the MySQL Installer writes the config to) is not on your list as well. That's the real issue, I guess.
[19 Mar 2014 14:01] MySQL Verification Team
http://bugs.mysql.com/bug.php?id=72070 marked as duplicate of this one.
[21 Jan 2017 21:42] Zax Ftw
Several versions and 4 years later this issue still hasn't been fixed?

Service is still forced to read from ProgramData, everything else reads from non-existing file in "Program Files"
[22 Jan 2017 17:24] Jon Miller
I have he same problem. I couldn't figure out why my settings weren't taking effect. It was because the service is looking in C:\ProgramData while Workbench was looking in C:\Program Files. I tried pointing Workbench to C:\ProgramData, but, it's giving me a permissions error.
[22 Jan 2017 17:56] Jon Miller
What is Status Unsupported. I agree with Zax. Why wasn't this fixed a long time ago? Ever since Oracle came out with the combined installer, the installation experience on Windows has been a total disaster. Definitely much worse than it used to be and apparently Oracle doesn't care.
[22 Jan 2017 19:18] Jon Miller
The easiest workaround may be to create a symbolic link between the files. That's the solution I'm going to go with unless I find a problem with it.

cmd /c mklink "C:\Program Files\MySQL\MySQL Server 5.7\my.ini" "C:\ProgramData\MySQL\MySQL Server 5.7\my.ini"
[11 Jan 2021 16:04] James Muldoon
Well, here we are in Jan 2021 and after selecting the server only option while  installing MySql version 8 and no my.ini is in the "C:\Program Files\MySQL\MySQL Server 8.0" nor in "C:\Program Files (x86)\MySQL\MySQL Installer for Windows" nor in ProgramData. 

I suppose that MySql just is not a priority for Oracle.

James
[11 Jan 2021 16:09] James Muldoon
I have decided to simply uninstall MySql and just use Sql Server developer edition. It installs easily and most importantly, IT WORKS immediately after installation.

James