Bug #91476 Still getting error in Installer 1.4.25
Submitted: 28 Jun 2018 15:58 Modified: 31 Jul 2018 6:23
Reporter: Charles Moore Email Updates:
Status: Analyzing Impact on me:
None 
Category:MySQL Server: Installing Severity:S1 (Critical)
Version:Installer 1.4.25 MySQL 8.0.1.1 OS:Windows (Cannot Initialize DB)
Assigned to: Assigned Account CPU Architecture:Any

[28 Jun 2018 15:58] Charles Moore
Description:
Error during Configuration and Initialization.

Beginning configuration step: Adjusting Windows service
Deleting existing service
Existing service deleted.
Attempting to grant Network Service require filesystem permissions.
Granted permissions.
Adding new service
New service added
Ended configuration step: Adjusting Windows service

Beginning configuration step: Initializing Database
Attempting to run MySQL Server with --initialize-insecure option...
Starting process for MySQL Server 8.0.11...
Starting process with command: C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" --console --initialize-insecure=on...
2018-06-28T15:52:32.542384Z 0 [ERROR] [MY-011071] [Server] Unknown suffix '.' used for variable 'lower_case_table_names' (value '0.0')
2018-06-28T15:52:32.542522Z 0 [ERROR] [MY-011071] [Server] C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe: Error while setting value '0.0' to 'lower_case_table_names'
2018-06-28T15:52:32.544230Z 0 [ERROR] [MY-010119] [Server] Aborting
2018-06-28T15:52:32.544883Z 0 [Note] [MY-010120] [Server] Binlog end
Process for mysqld, with ID 28244, was run successfully and exited with code 1.
Failed to start process for MySQL Server 8.0.11.
Database initialization failed.
Ended configuration step: Initializing Database

How to repeat:
Appy My Configuration in MySQL Installer
[28 Jun 2018 17:29] MySQL Verification Team
Thank you for the bug report. I couldn't repeat on fresh install on Windows 10 Pro, please elaborate, it's your install an upgrade? Which exactly Windows versio are you using. Thanks.
[28 Jun 2018 19:59] Charles Moore
Using Microsoft Windows [Version 10.0.10240]
Also the MySql install is using Web install.
[28 Jun 2018 20:29] MySQL Verification Team
Thank you for the feedback. Still can't repeat, again it was an upgrade or fresh install, please provide step by step your failed install process. Thanks.
[28 Jun 2018 23:41] Charles Moore
Steps and errors and ini file

Attachment: MYSQL Error Details.txt (text/plain), 16.48 KiB.

[29 Jun 2018 11:05] Chiranjeevi Battula
Hello  Charles Moore,

Thank you for the feedback.
I could not repeat the issue at our end using with MySQL web/Installer 1.4.26.0 version on Windows 10.
If you can provide more information, feel free to add it to this bug and change the status back to 'Open'.

Thank you for your interest in MySQL.

Thanks,
Chiranjeevi.
[29 Jun 2018 13:11] Chiranjeevi Battula
Hello  Charles Moore,

Looking at the attached error log and my.ini contents:

Beginning configuration step: Initializing Database
Attempting to run MySQL Server with --initialize-insecure option...
Starting process for MySQL Server 8.0.11...
Starting process with command: C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" --console --initialize-insecure=on...
2018-06-28T23:37:37.346395Z 0 [ERROR] [MY-011071] [Server] Unknown suffix '.' used for variable 'lower_case_table_names' (value '0.0')
2018-06-28T23:37:37.346517Z 0 [ERROR] [MY-011071] [Server] C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe: Error while setting value '0.0' to 'lower_case_table_names'
2018-06-28T23:37:37.347894Z 0 [ERROR] [MY-010119] [Server] Aborting
2018-06-28T23:37:37.348356Z 0 [Note] [MY-010120] [Server] Binlog end
Process for mysqld, with ID 15052, was run successfully and exited with code 1.
Failed to start process for MySQL Server 8.0.11.
Database initialization failed.
Ended configuration step: Initializing Database

It points to the wrong value supplied in my.ini to lower_case_table_names=0.0. Ideally, this should be 0,1 or 2 but not decimal.

If my.ini is existing one then user should just change that value to OS specific allowed one or comment it but if installer is generating my.ini and it is wrongly writing "0.0" for lower_case_table_names then it is issue with installer.

Thanks,
Chiranjeevi.
[30 Jun 2018 19:22] Jacob Eastman
I am also receiving this same issue. The installer is generating an invalid my.cnf with lower_case_table_names set to 0.0. If I manually edit this file to set it to just 0 and rerun the install it will overwrite my change back to the invalid 0.0 value.

This is a fresh install on Windows 10 Home, version 1802, build 17134.112

I downloaded the "online" installer and it updated itself before running.

Beginning configuration step: Initializing Database
Deleting the data directory from a previous (failed) configuration...
Attempting to run MySQL Server with --initialize-insecure option...
Starting process for MySQL Server 8.0.11...
Starting process with command: C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" --console --initialize-insecure=on --lower-case-table-names=0...
2018-06-30T19:12:46.878762Z 0 [Warning] [MY-011071] [Server] option 'shared_memory': boolean value '' wasn't recognized. Set to OFF.
2018-06-30T19:12:46.878942Z 0 [Warning] [MY-011071] [Server] option 'read_buffer_size': unsigned value 0 adjusted to 8192
2018-06-30T19:12:46.878966Z 0 [Warning] [MY-011071] [Server] option 'read_rnd_buffer_size': unsigned value 0 adjusted to 1
2018-06-30T19:12:46.879147Z 0 [Warning] [MY-010915] [Server] 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode in a future release.
2018-06-30T19:12:46.879341Z 0 [System] [MY-013169] [Server] C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe (mysqld 8.0.11) initializing of server in progress as process 14848
2018-06-30T19:12:46.916200Z 0 [ERROR] [MY-010158] [Server] The server option 'lower_case_table_names' is configured to use case sensitive table names but the data directory is on a case-insensitive file system which is an unsupported combination. Please consider either using a case sensitive file system for your data directory or switching to a case-insensitive table name mode.
2018-06-30T19:12:46.920413Z 0 [ERROR] [MY-010119] [Server] Aborting
2018-06-30T19:12:46.921050Z 0 [System] [MY-010910] [Server] C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe: Shutdown complete (mysqld 8.0.11)  MySQL Community Server - GPL.
Process for mysqld, with ID 14848, was run successfully and exited with code 1.

The service is actually installed but even after manually fixing the my.cnf the service still fails to start with no errors in Event Viewer.
[1 Jul 2018 10:42] Alisson Quintanilha
I am having the same issue here. Fresh install on Windows 7. I really can't understand how the installer can make such stupid mistake. Even if I try to set the variable manually the installer will override it and keep getting stuck unable to initialize the database. Seriously, how can the installer break the rules established by itself? Did this get tested before release?
[1 Jul 2018 11:03] Alisson Quintanilha
Could it be that the installer is attributing a floating point zero instead of an integer zero to the variable?
[3 Jul 2018 18:44] Allen Anselmo
I'm getting the same error as well and you can't alter the my.ini as it just gets regenerated as soon as you click Execute
[3 Jul 2018 18:51] Prernna Varma
Im getting the same error - even while using a previous version installer - it would not initialize the database - gives the same 0.0 error
[3 Jul 2018 20:22] Mike Colbourne
I'm seeing the same issue. I thought it was me for a few days of attempts but now I realize after trying on 3 different Windows PCs, it is the installer. Is there any acknowledgement from the team regarding this bug?
[4 Jul 2018 0:12] Alisson Quintanilha
The problem, it seems, is that this bug is being treated as "Can't repeat". We need someone to re-open it.

Even if they can't repeat, they should be able to pinpoint what part of the installer is likely causing this bug. I don't know the source code, but my guess would be that a script is writing a Double zero (0.0) instead of an Int zero (0), since 0 is the default for that variable.
[4 Jul 2018 0:32] Jacob Eastman
I managed to get it installed by backing out of it and retrying it numerous times and finally running the standalone MySQl Server msi here:

C:\ProgramData\MySQL\MySQL Installer for Windows\Product Cache\mysql-8.0.11-winx64.msi

Afterwards, it still wouldn't start up but checking the error logs I was still getting an error because that value should not be zero on Windows 10.

# Specifies the on how table names are stored in the metadata.
# If set to 0, will throw an error on case-insensitive operative systems
# If set to 1, table names are stored in lowercase on disk and comparisons are not case sensitive.
# If set to 2, table names are stored as given but compared in lowercase.
# This option also applies to database names and table aliases.
# NOTE: Modify this value after Server initialization won't take effect.
lower_case_table_names=1

Turns out Windows is a case-insensitive operating system! (This was a small headache for me as I'm deploying to a Linux environment!). If you try to start MySQL with that set to zero it will, as the above says, throw an error.

So there is definitely something wrong in the installer's logic for detecting the case-sensitivity of the OS.

Finally, for those still struggling, even when this installer fails with the 0.0 error, you can just exit the installer, set that value to 1, then start the MySQL service. What you miss out on is any MySQL users or other post-install options you had selected.
[4 Jul 2018 0:42] Alisson Quintanilha
Thanks Jacob Eastman. That was a highly relevant comment. I noticed that as well. I was actually trying to set the variable to 1, since I am deploying to Windows. This might be one of the reasons why this critical bug is going unchecked, it's Windows after all, so the team might not be very keen on having a look into it, which is unfortunate. I don't like to configure things manually on Windows, but if the installer is broken and won't get patched any time soon that will be the way to go.
[4 Jul 2018 9:01] Chiranjeevi Battula
http://bugs.mysql.com/bug.php?id=91539 marked as duplicate of this one.
[4 Jul 2018 9:34] MySQL Verification Team
This issue is seen only with old installer version i.e 1.4.25, but if you download latest from https://dev.mysql.com/downloads/mysql/ which is 1.4.26.0 then this issue is not there. Also, at the last screen of installation it would prompts for upgrade "There is an upgrade available for MySQL Installer.  This is an optional upgrade. You  will continue to receive product catalog updates if you do not apply the upgrade.".  Please click "Yes" and it would update the installer to 1.4.26.0.

-- 1.4.25.0
Beginning configuration step: Writing configuration file
Ended configuration step: Writing configuration file

Beginning configuration step: Updating Windows Firewall rules
Attempting to delete a Windows Firewall rule with command: netsh.exe advfirewall firewall delete rule name="Port 3306" protocol=TCP localport=3306

Deleted 1 rule(s).
Ok.

Adding a Windows Firewall rule for MySQL80 on port 3306.
Attempting to add a Windows Firewall rule with command: netsh.exe advfirewall firewall add rule name="Port 3306" protocol=TCP localport=3306 dir=in action=allow
Ok.

Successfully added the Windows Firewall rule.
Ended configuration step: Updating Windows Firewall rules

Beginning configuration step: Adjusting Windows service
Attempting to grant Network Service require filesystem permissions.
Granted permissions.
Adding new service
New service added
Ended configuration step: Adjusting Windows service

Beginning configuration step: Initializing Database
Deleting the data directory from a previous (failed) configuration...
Attempting to run MySQL Server with --initialize-insecure option...
Starting process for MySQL Server 8.0.11...
Starting process with command: C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" --console --initialize-insecure=on...
2018-07-04T04:04:38.473766Z 0 [ERROR] [MY-011071] [Server] Unknown suffix '.' used for variable 'lower_case_table_names' (value '0.0')
2018-07-04T04:04:38.473766Z 0 [ERROR] [MY-011071] [Server] C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe: Error while setting value '0.0' to 'lower_case_table_names'
2018-07-04T04:04:38.473766Z 0 [ERROR] [MY-010119] [Server] Aborting
2018-07-04T04:04:38.474766Z 0 [Note] [MY-010120] [Server] Binlog end
Process for mysqld, with ID 104760, was run successfully and exited with code 1.
Failed to start process for MySQL Server 8.0.11.
Database initialization failed.
Ended configuration step: Initializing Database

-- 1.4.26.0

Beginning configuration step: Writing configuration file
Ended configuration step: Writing configuration file

Beginning configuration step: Updating Windows Firewall rules
Attempting to delete a Windows Firewall rule with command: netsh.exe advfirewall firewall delete rule name="Port 3306" protocol=TCP localport=3306

Deleted 1 rule(s).
Ok.

Adding a Windows Firewall rule for MySQL80 on port 3306.
Attempting to add a Windows Firewall rule with command: netsh.exe advfirewall firewall add rule name="Port 3306" protocol=TCP localport=3306 dir=in action=allow
Ok.

Successfully added the Windows Firewall rule.
Adding a Windows Firewall rule for MySQL80 on port 33060.
Attempting to add a Windows Firewall rule with command: netsh.exe advfirewall firewall add rule name="Port 33060" protocol=TCP localport=33060 dir=in action=allow
Ok.

Successfully added the Windows Firewall rule.
Ended configuration step: Updating Windows Firewall rules

Beginning configuration step: Adjusting Windows service
Attempting to grant Network Service require filesystem permissions.
Granted permissions.
Adding new service
New service added
Ended configuration step: Adjusting Windows service

Beginning configuration step: Initializing Database
Deleting the data directory from a previous (failed) configuration...
Attempting to run MySQL Server with --initialize-insecure option...
Starting process for MySQL Server 8.0.11...
Starting process with command: C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" --console --initialize-insecure=on --lower-case-table-names=1...
2018-07-04T04:22:12.733271Z 0 [Warning] [MY-011071] [Server] option 'read_buffer_size': unsigned value 0 adjusted to 8192
2018-07-04T04:22:12.733271Z 0 [Warning] [MY-011071] [Server] option 'read_rnd_buffer_size': unsigned value 0 adjusted to 1
2018-07-04T04:22:12.733271Z 0 [Warning] [MY-010915] [Server] 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode in a future release.
2018-07-04T04:22:12.733271Z 0 [System] [MY-013169] [Server] C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe (mysqld 8.0.11) initializing of server in progress as process 100584
[8 Jul 2018 6:56] Alisson Quintanilha
I cannot find the 1.4.26 installer for MySQL 5.7 (I know the issue was open for 8.0.1.1, but the problem seems to be the installer itself). Is there a direct link?
[9 Jul 2018 21:19] Alisson Quintanilha
Here is the workaround I found.

If I tried to install 5.7.22 I would not get prompted to upgrade the installer. I downloaded 5.7.21, then I got prompted to upgrade. I answered "yes", and from there I can complete the installation without the bug.
[12 Jul 2018 14:32] Chiranjeevi Battula
http://bugs.mysql.com/bug.php?id=91615 marked as duplicate of this one.
[17 Jul 2018 11:53] Thiago Thiago
it was happening with me and i realize that happened when a folder with the same directory name installation already existed, so, i just removed this folder and reinstall using MSI installer (5.7.22).
[31 Jul 2018 7:12] Chiranjeevi Battula
http://bugs.mysql.com/bug.php?id=91831 marked as duplicate of this one.