Resolving sasl/sasl.h Not Found during CMake when Building MySQL on Windows

When building MySQL (5.6 in this case) on Windows, if starting from a new/plain machine, there are some headers/libs/etc. missing that many distributions contain and/or are easy to add.

Resolving some of these, at least for me, have not always been intuitive on Windows. So I’m attempting to tackle them all and post the results to help others with the same issues. (I thought I’d fly through them all, and provide it all in a single post .. [insert laughs here] .. but that’s not gonna happen, so I’ll post them as I go. Might be better in the long run anyway for those searching for specific errors anyway.)

So this one is about the following, during the initial invocation of cmake:

-- Looking for include file sasl/sasl.h
-- Looking for include file sasl/sasl.h - not found

Thus I need to get sasl.h. SASL stands for “Simple Authentication and Security Layer”, which is a method for adding authentication support to connection-based protocols.

Steps I took to fix:

1. Downloaded Cyrus SASL file: cyrus-sasl-2.1.22
2. Extracted
3. Copied all files in “include” directory to “C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\sasl” (Where “10.0” is your version of VS)

After that, re-run your cmake command, and you’ll see it says “found” for sasl/sasl.h now:

c:\mysql\mysql-5.6.12\bld>cmake ..
-- Building for: Visual Studio 10
-- Running cmake version 2.8.11.1
-- The C compiler identification is MSVC 16.0.30319.1
-- The CXX compiler identification is MSVC 16.0.30319.1
-- Check for working C compiler using: Visual Studio 10
-- Check for working C compiler using: Visual Studio 10 -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler using: Visual Studio 10
-- Check for working CXX compiler using: Visual Studio 10 -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check size of void *
-- Check size of void * - done
-- MySQL 5.6.12
-- Packaging as: mysql-5.6.12-win32
-- Looking for include file sasl/sasl.h
-- Looking for include file sasl/sasl.h - found
...

Hope this helps. :)

 

Related Build Links:

 

Comprehensive How-To for Enabling the Standard InnoDB Plugin in MariaDB and MySQL

I’m always switching back-and-forth between the 2 different InnoDB flavors in MariaDB – XtraDB+ and the standard InnoDB plugin, so I thought I’d simply post all of the various combinations in a single place. (And then I cover enabling the InnoDB Plugin in MySQL, since it’s an option in 5.1.) [Addition: Thanks to Andrew and Sergei for the tips on shortening plugin-load=. The changes are reflected below.]

Note: Below is for Windows. For Linux, simply change “.dll” to “.so” where appropriate.

MariaDB 10.0:

Do not add anything, as the standard InnoDB plugin is the current default (as of 10.0.3, although I do anticipate this changing in the near future, and I’ll update the post accordingly when that happens).

MariaDB 5.5:

# Enable the 2 below to disable XtraDB+ and enable the standard InnoDB Plugin
ignore_builtin_innodb
plugin-load=ha_innodb.dll

MariaDB 5.3:

# Enable the 2 below to disable XtraDB+ and enable the standard InnoDB Plugin
ignore_builtin_innodb
plugin-load=ha_innodb_plugin.dll

MariaDB 5.2:

# Enable the 2 below to disable XtraDB+ and enable the standard InnoDB Plugin
ignore_builtin_innodb
plugin-load=ha_innodb_plugin.dll

MariaDB 5.1:

# Enable the 2 below to disable XtraDB+ and Enable the standard InnoDB Plugin
ignore_builtin_innodb
plugin-load=ha_innodb_plugin.dll

Note that enabling it in 5.1, 5.2, and 5.2 are the same. As for 5.5, the only difference is that the name of the .dll has changed from “ha_innodb_plugin.dll” to “ha_innodb.dll” (so that needs changed in each place it occurs).

MySQL 5.1:

For MySQL 5.1, you would enable the InnoDB Plugin in the same way you would for MariaDB 5.1:

# Enable the 2 below to enable the standard InnoDB Plugin
ignore_builtin_innodb
plugin-load=ha_innodb_plugin.dll

MySQL 5.5+:

In MySQL 5.5+, the InnoDB Plugin is the default (and only InnoDB flavor of InnoDB in MySQL).

And finally, since I’m discussing the InnoDB Plugin, I do have some older posts on the subject for anyone who may be interested:

InnoDB Plugin Versions
http://www.chriscalender.com/?page_id=628

Ease of Switching to the InnoDB Plugin and the Numerous Benefits
http://www.chriscalender.com/?p=99

InnoDB Plugin Version Numbering in MySQL and MariaDB
http://www.chriscalender.com/?p=1205

Hope this helps. :)

 

Setting the TZ Environment Variable for MySQL on Windows

Most of us are familiar with how MySQL handles timezones, and what one must do to keep up with the latest changes, etc. Most of us use the system timezone info, which is great – one less item to update when changes occur (usually because of daylight savings changes). And for those who need more specifics, most everyone (except Windows and HP-UX) can update their timezone info using the zoneinfo database from the OS.

For those few Windows and HP-UX, you have to download the package of pre-built time zone tables that MySQL provides. Per the manual (timezone section):

“If your system is one that has no zoneinfo database (for example, Windows or HP-UX), you can use the package of pre-built time zone tables that is available for download at the MySQL Developer Zone:”

http://dev.mysql.com/downloads/timezones.html

So the questions becomes, is that your only option on Windows?

The answer is “no”.

At the top of the same manual page, it says:

“You can also set it by setting the TZ environment variable before you start mysqld. The permissible values for –timezone or TZ are system dependent. Consult your operating system documentation to see what values are acceptable.”

Now, it doesn’t tell you what these are since they are OS-dependant. Also, I couldn’t easily find any mentions of what the proper settings for Windows are for MySQL, but in the end, and after a good bit of testing various values (especially around DST times), I found what works (at least in the U.S. for now).

Of course, first, you must create an “environment variable” named TZ, unless you already have one, but that is doubtful (at least it is not default in my experience). If you are not familiar with how to create an environment variable, perhaps you should not do this for your first attempt, as I don’t want you to mess up your system. But for those who would still like to know:

Control Panel ->  System -> Advanced System Settings -> Environment Variables
  -> Click "New" *under* "System variables"

You’ll want to give the “System variable” the name: TZ

And then ‘some’ of the permissible values are:

EST5EDT
CST6CDT
MST7MDT
PST8PDT

I had only tested these in the U.S., so you’ll have to perform further tests if you wish to use other values. If you do use others, be sure to test them thoroughly, especially around your respective DST changeovers.

Fwiw, I did post the above tip in the “User Comments” on the manual page, but wanted to share the info here, in case to make it a bit easier to find.

Now why would any of this be useful?

Well, no values for TZ on Windows have been documented, nor tested, so at least this helps with that.

And as for practical uses, this would allow your MySQL to use the “system”, but it could still differ from the “system”. That is, your server could be in Pacific time zone, and you want the server system to remain PST, but you want MySQL to be Eastern (EST) for whatever reason. This would allow you to accomplish that without having to load the MySQL timezone tables (and then keep them up-to-date when changes occur).

Note that if you do set TZ to “EST5EDT”, after re-starting MySQL, you will see (it only shows “EDT”):

mysql> show global variables like '%zone%';
+------------------+--------+
| Variable_name    | Value  |
+------------------+--------+
| system_time_zone | EDT    |
| time_zone        | SYSTEM |
+------------------+--------+

This is normal, and expected, and the same occurs for EST5EDT, CST5CDT, MST5MDT, and PST5PDT.

Hope this helps. :)

 
 

Troubleshooting High Memory Usage with MySQL on Windows

I was testing out the latest MySQL 5.6 on Windows (having used the auto-installer) and happened to notice my RAM usage (via Windows Task Manager) was reporting quite a high value, when I had very modest ram/buffer settings (should have been around 40M, but instead it was around 400M).

After double/triple-checking my settings to make sure I didn’t overlook something obvious, I searched the bugs database, and ran across bug #68287:

“High Memory Usage with MySQL 5.6.12 GA in ‘Development Machine’ mode”

Turns out, using the auto-installer set the value of table_definition_cache=1400, when the minimum value is 400. Reducing it to 400, and restarting MySQL immediately lowered the RAM usage, and is the “work-around” identified in the bug report.

Having encountered this, I thought I’d double-check the RAM usage of my other instances and noticed my 5.5 and 5.7 instances were behaving in a similar manner. However, I added the explicit table_definition_cache=400, restarted, and the usage was still high. At this point, I mentioned it in the bug report, and Shane Bester replied asking me to check what the following reported for total RAM:

SHOW ENGINE PERFORMANCE_SCHEMA STATUS;

Voila! That reported the instances were using ~400M, and in fact, it was due to the performance schema itself. In these 2 instances, the performance_schema was enabled, and thus using the extra RAM.

As soon as I disabled the performance schema (performance_schema=0), the memory dropped to the level I was expecting. Now don’t get me wrong, I really like the performance schema, and have re-enabled it – I just wanted to know where this RAM was being used. Note the performance schema is enabled by default in 5.6 and 5.7, but not 5.5 (need to add “performance_schema” to the [mysqld] section, and restart, in 5.5).

For those looking for even more information about the SHOW ENGINE PERFORMANCE_SCHEMA STATUS command and the outputs it returns, I would recommend reviewing the following 2 pages (both contain good and relevant info about the variables, such as “performance_schema.memory”):

http://dev.mysql.com/doc/refman/5.6/en/show-engine.html
http://dev.mysql.com/doc/refman/5.6/en/performance-schema-status-monitoring.html

And for more on the performance schema in general, here is the link to the main section in the manual:

http://dev.mysql.com/doc/refman/5.6/en/performance-schema-configuration.html

And lastly, you can configure many aspects of the performance schema, and there is a nice blog post about that here:

http://marcalff.blogspot.com/2013/04/on-configuring-performance-schema.html

Hope this helps. :)

 
 

How to Build MySQL 5.7 on Windows from Source Code

I just installed 5.7.1 on Windows and next up was to build it from source on Windows, so that’s what I did, and thought I’d share the steps.

** Prerequisites **

1. Install Microsoft Visual Studio (I installed VS 2010 Express – free)
2. Install cmake
3. Install bison (make sure no spaces in path)

** Build Instructions **

cd c:\mysql\mysql-5.7.1
mkdir bld
cd bld
cmake ..
cmake --build . --config relwithdebinfo --target package

And here is the full output for anyone who might be interested:

C:\Windows\system32>cd C:\mysql\mysql-5.7.1

C:\mysql\mysql-5.7.1>mkdir bld

C:\mysql\mysql-5.7.1>cd bld

C:\mysql\mysql-5.7.1\bld>cmake ..
-- Building for: Visual Studio 10
-- Running cmake version 2.8.11.1
-- Configuring with MAX_INDEXES = 64U
-- The C compiler identification is MSVC 16.0.30319.1
-- The CXX compiler identification is MSVC 16.0.30319.1
-- Check for working C compiler using: Visual Studio 10
-- Check for working C compiler using: Visual Studio 10 -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler using: Visual Studio 10
-- Check for working CXX compiler using: Visual Studio 10 -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check size of void *
-- Check size of void * - done
-- MySQL 5.7.1-m11
-- Packaging as: mysql-5.7.1-m11-win32
-- Found Threads: TRUE
-- Looking for ntohll
-- Looking for ntohll - not found
-- Looking for inet_ntop
-- Looking for inet_ntop - not found
-- Check size of time_t
-- Check size of time_t - done
-- Performing Test TIME_T_UNSIGNED
-- Performing Test TIME_T_UNSIGNED - Failed
-- Looking for GetCurrentProcessorNumber
-- Looking for GetCurrentProcessorNumber - not found
-- Using cmake version 2.8.11.1
-- Not building NDB
-- Library mysqlclient depends on OSLIBS ws2_32;Secur32
-- Googlemock was not found. gtest-based unit tests will be disabled. 
   You can run cmake . -DENABLE_DOWNLOADS=1 to automatically download 
   and build required components from source.
-- If you are inside a firewall, you may need to use an http proxy: 
   export http_proxy=http://foo.bar.com:80
-- Library mysqlserver depends on OSLIBS ws2_32
-- mysql-test/include/max_indexes.inc adjusted
-- Cannot find wix 3, installer project will not be generated
-- Configuring done
-- Generating done
-- Build files have been written to: C:/mysql/mysql-5.7.1/bld

C:\mysql\mysql-5.7.1\bld>cmake --build . --config relwithdebinfo --target package
.....
..... tons of output .....
.....

    399 Warning(s)
    0 Error(s)

Time Elapsed 00:17:13.65

C:\mysql\mysql-5.7.1\bld>

Done!!!

mysql-5.7.1-m11-win32.zip created in C:\mysql\mysql-5.7.1\bld

Hope this helps. :)

 

 

Troubleshooting Building MariaDB 5.1 on Windows

This is a follow-up, troubleshooting article that goes hand-in-hand with my “Building MariaDB 5.1 on Windows Revisited” post, and covers some problems and their solutions that one might encounter when attempting to build MariaDB from source code on Microsoft Windows.

The first error I ran into was this, on my main compile step (i.e., the 2nd cmake command):

C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.Cpp
Common.targets(151,5): error MSB6006: "cmd.exe" exited with code 1. 
[C:\mysql\mariadb-5.1.67\bld\scripts\GenFixPrivs.vcxproj]

That in itself doesn’t tell us too much. Searching the full compile output, we find:

Generating ../../scripts/mysql_fix_privilege_tables.sql
The system cannot find the file specified.
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.Cpp
Common.targets(151,5): error MSB6006: "cmd.exe" exited with code 1. 
[C:\mysql\mariadb-5.1.67\bld\scripts\GenFixPrivs.vcxproj]
Done Building Project 
"C:\mysql\mariadb-5.1.67\bld\scripts\GenFixPrivs.vcxproj" (default targets)
 -- FAILED.

Thus, there is a path issue. In this case, I had created a directory named “bld” within mysql-5.1.67/ and was attempting to build (and run cmake) there. After seeing this error, I deleted bld/ and just compiled in the main dir.

This helped things progress further on the next compile.

However, while it progressed further, I encountered a new set of errors:

"C:\mysql\mariadb-5.1.67\package.vcxproj" (default target) (1) ->
(PostBuildEvent target) ->
  EXEC : CPack error : Cannot find NSIS compiler makensis: 
    likely it is not installed, or not in your PATH 
    [C:\mysql\mariadb-5.1.67\package.vcxproj]
  EXEC : CPack error : Could not read NSIS registry value. 
    This is usually caused by NSIS not being installed. Please install NSIS 
    from http://nsis.sourceforge.net [C:\mysql\mariadb-5.1.67\package.vcxproj]
  EXEC : CPack error : Cannot initialize the generator NSIS 
    [C:\mysql\mariadb-5.1.67\package.vcxproj]
  ...
    17 Warning(s)
    4 Error(s)

These seem related to NSIS, and so I’ll follow the note from the error message: Please install NSIS from http://nsis.sourceforge.net

Thus I downloaded NSIS and installed it (since I didn’t already have it installed). I then re-ran the 2nd cmake command, and it progressed further than before.

However, I was still not out of the woods yet. This time it produced:

  CPack: Create package using NSIS
  CPack: Install projects
  CPack: - Install project: MySql
  CPack: -   Install component: Unspecified
  CPack: -   Install component: headers
  CPack: -   Install component: mysqltest
  CPack: -   Install component: runtime
  CPack: -   Install component: scripts
  CPack: -   Install component: sqlbench
  CPack: Create package
EXEC : CPack error : Problem running NSIS command: 
  "C:/Program Files (x86)/NSIS/makensis.exe" 
  "C:/mysql/mariadb-5.1.67/_CPack_Packages/win32/NSIS/project.nsi" 
  [C:\mysql\mariadb-5.1.67\package.vcxproj]
  Please check C:/mysql/mariadb-5.1.67/_CPack_Packages/win32/NSIS/NSISOutput.log 
  for errors
EXEC : CPack error : Problem compressing the directory 
  [C:\mysql\mariadb-5.1.67\package.vcxproj]
EXEC : CPack error : Error when generating package: MariaDB 
  [C:\mysql\mariadb-5.1.67\package.vcxproj]
...
Done Building Project "C:\mysql\mariadb-5.1.67\package.vcxproj" (default targets)
 -- FAILED.
Build FAILED.

    0 Warning(s)
    4 Error(s)

Upon examining the above, we see the main error is:

EXEC : CPack error : Problem running NSIS command: 
  "C:/Program Files (x86)/NSIS/makensis.exe" 
  "C:/mysql/mariadb-5.1.67/_CPack_Packages/win32/NSIS/project.nsi" 
  [C:\mysql\mariadb-5.1.67\package.vcxproj]
  Please check C:/mysql/mariadb-5.1.67/_CPack_Packages/win32/NSIS/NSISOutput.log 
  for errors

I checked the log it mentions to see what is going on, and the last 2 lines of NSISOutput.log say:

!macro: macro named "RemoveSection" already found!
Error in script "C:/mysql/mariadb-5.1.67/_CPack_Packages/win32/NSIS/project.nsi" 
on line 134 -- aborting creation process

Re-looked at error, which says “Problem running NSIS command …”

Thus I tried to run said command, exactly as-is, to see if it runs and/or what it reports:

C:\> "C:/Program Files (x86)/NSIS/makensis.exe" "C:/mysql/mariadb-5.1.67/_CPack_Packages/win32/NSIS/project.nsi"

Output is basically identical to that in NSISOutput.log, aside from 2 comments at the very beginning of NSISOutput.log (which shows the command run). The last 2 lines are (shown in ‘red’ in my terminal):

!macro: macro named "RemoveSection" already found!
Error in script "C:/mysql/mariadb-5.1.67/_CPack_Packages/win32/NSIS/project.nsi" 
on line 134 -- aborting creation process

So what is this “RemoveSection”? Need to check project.nsi on line 134.

Searched the file, is only there once, so not sure where else it is coming from (i.e., how it is “already found!”).

So I decided to Google: “macro named “RemoveSection” already found”

1st result, bingo! Known bug!

“0013202: CPack fails with latest prerelease NSIS”

http://public.kitware.com/Bug/view.php?id=13202

Bug says, “Fixed in Version CMake 2.8.11″, so I checked my cmake version:

C:\>cmake –version
cmake version 2.8.10.2

Thus it is an affected version of cmake, therefore I need to upgrade cmake.

I downloaded the latest cmake, 2.8.11.1, and then upgraded it:

C:\Windows\system32>cmake --version
cmake version 2.8.11.1

So now re-run cmake command again:

cmake --build . --config relwithdebinfo --target package

Worked!!!!!!!

Build succeeded.
    0 Warning(s)
    0 Error(s)

Hope this helps. :)

 

 

Building MariaDB 5.1 on Windows Revisited

I previously wrote an article on Building MariaDB 5.1 on Windows, but it was about 1.5 years ago (for 5.1.60; this is for 5.1.67), so I wanted to update this a little since I’ve built it entirely from the command-line this time (as well as highlight a couple problems/solutions – which I’ll cover in a subsequent troubleshooting post). This process it quite similar to my steps for building MariaDB 5.5 and MariaDB 10.0, however it’s slightly different since 5.1 requires you run the configure.js script before running cmake. Aside from that though, things are mostly the same. :)

Here is the full procedure:

Download 5.1.67 MariaDB source and extract to C:\mysql\mariadb-5.1.67
cd C:\mysql\mariadb-5.1.67
win\configure.js
cmake .
cmake --build . --config relwithdebinfo --target package

There you have it. MariaDB-5.1.67-win32.exe is created in the main dir. Also, it, and other related files, can be found in C:\mysql\mariadb-5.1.67\_CPack_Packages\win32\NSIS as well.

And for those interested, here is my [mostly] full output (I’ll spare you the “full” build/compilation outputs):

C:\>cd C:\mysql\mariadb-5.1.67

C:\>cd C:\mysql\mariadb-5.1.67

C:\mysql\mariadb-5.1.67>win\configure.js

C:\mysql\mariadb-5.1.67>cmake .
-- Building for: Visual Studio 10
-- The C compiler identification is MSVC 16.0.30319.1
-- The CXX compiler identification is MSVC 16.0.30319.1
-- Check for working C compiler using: Visual Studio 10
-- Check for working C compiler using: Visual Studio 10 -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler using: Visual Studio 10
-- Check for working CXX compiler using: Visual Studio 10 -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
build CSV as static library (libcsv.lib)
build FEDERATEDX as static library (libfederatedx.lib)
build HEAP as static library (libheap_s.lib)
build MARIA as static library (libmaria_s.lib)
build MYISAM as static library (libmyisam_s.lib)
build MYISAMMRG as static library (libmyisammrg_s.lib)
build PBXT as static library (libpbxt_s.lib)
build XTRADB as static library (libxtradb.lib)
build ARCHIVE as DLL (ha_archive.dll)
build BLACKHOLE as DLL (ha_blackhole.dll)
build EXAMPLE as DLL (ha_example.dll)
build FEDERATED as DLL (ha_federated.dll)
build INNODB_PLUGIN as DLL (ha_innodb_plugin.dll)
CMake Warning at C:/Program Files (x86)/cmake/share/cmake-2.8/Modules/
InstallRequiredSystemLibraries.cmake:343 (message):
  system runtime library file does not exist:
  'MSVC10_REDIST_DIR-NOTFOUND/x86/Microsoft.VC100.CRT/msvcp100.dll'
Call Stack (most recent call first):
  CMakeLists.txt:562 (INCLUDE)

CMake Warning at C:/Program Files (x86)/cmake/share/cmake-2.8/Modules/
InstallRequiredSystemLibraries.cmake:343 (message):
  system runtime library file does not exist:
  'MSVC10_REDIST_DIR-NOTFOUND/x86/Microsoft.VC100.CRT/msvcr100.dll'
Call Stack (most recent call first):
  CMakeLists.txt:562 (INCLUDE)

-- Configuring done
-- Generating done
-- Build files have been written to: C:/mysql/mariadb-5.1.67

C:\mysql\mariadb-5.1.67>cmake --build . --config relwithdebinfo --target package
......
...... tons of output ......
......
PostBuildEvent:
  ...
  CPack: Create package using NSIS
  CPack: Install projects
  CPack: - Install project: MySql
  CPack: -   Install component: Unspecified
  CPack: -   Install component: headers
  CPack: -   Install component: mysqltest
  CPack: -   Install component: runtime
  CPack: -   Install component: scripts
  CPack: -   Install component: sqlbench
  CPack: Create package
  CPack: - package: C:/mysql/mariadb-5.1.67/MariaDB-5.1.67-win32.exe generated.
FinalizeBuildStatus:
  Deleting file "Win32\relwithdebinfo\PACKAGE\PACKAGE.unsuccessfulbuild".
  Touching "Win32\relwithdebinfo\PACKAGE\PACKAGE.lastbuildstate".
Done Building Project "C:\mysql\mariadb-5.1.67\package.vcxproj" (default targets).

Build succeeded.
    0 Warning(s)
    0 Error(s)

Time Elapsed 00:13:53.66

Hope this helps. :)

 

 

Installing MySQL 5.7.1 (Milestone Release) on Windows 7

I wanted install MySQL 5.7.1 (1st Milestone Release) on Windows 7 and test it out a bit, so I did, and since things didn’t go as smooth as expected, I thought I’d share my experience, in case anyone else runs into the same issues.

I downloaded the .msi (mysql-5.7.1-m11-winx64.msi) from http://dev.mysql.com/downloads/mysql/ (then click the “Developmental Releases” tab) and installed it following the prompts. That seemed to complete fine, which was great. However, that was it – and not in a good way. I mean, the “installer” basically only unpacked the files to a location.

I was expecting the “configuration” tool to run, but it didn’t. It was not installed, and not an option.

I quickly read through the 5.7.1 changelog and found the config tool is not part of the .msi anymore. You must now use the “MySQL Installer” if you want to configure the MySQL instance.

So, I then downloaded the MySQL Installer (http://dev.mysql.com/downloads/installer/).

I installed it, which went fine. I then ran it. It would not let me go straight to the “configuration” of my 5.7.1 instance. It made me start from the “beginning”, so-to-speak. It forced me to re-download 5.7.1. Then forced me to re-install 5.7.1 (via the same .msi installer I already downloaded and installed). Then, finally, I made to where I had the option to run the configuration tool. \o/

The configuration tool worked mostly (it created the service and started it), though it failed to create my password and complete the security settings, so I had some manual fixes to perform afterward.

After that, things were good to go. I realize this is just the first milestone release of 5.7 and the first release where the “config” tool is not “included” with the .msi installer, and so there are going to be some kinks to work out. But if you’re wanting to install 5.7.1 on Windows, I hope this helps. And I’d probably just go straight to the “MySQL Installer”, unless you want the no-install version.

For the sake of completeness, I did file the bugs I ran across here:

“Win MySQL Installer makes you re-download and re-install 5.7 before configuring”
http://bugs.mysql.com/bug.php?id=69461

“MySQL Win Installer tries to Install 5.5.28 and 5.1.66 when I install 5.7.1 only”
http://bugs.mysql.com/bug.php?id=69462

“MySQL Installer failed on User password & Security Settings for 5.7.1 on Win 7″
http://bugs.mysql.com/bug.php?id=69463

Hope this helps. :)