I started with a clean machine (Windows 10, 64bits), no previous installation of MySQL. I downloaded MySQL Installer Web Community 220.127.116.11, and installed the following:
- MySQL Server 5.7.20 (x86)
- MySQL Workbench 6.3.10 (x64)
- MySQL Notifier 1.1.7 (x86)
- MySQL Utilities 1.6.5 (x86)
- MySQL Shell 1.0.10 (x86)
- MySQL Router 2.1.4 (x86)
- Connector/NET 6.10.4 (x86)
During the (vanilla) installation, the server doesn't start. Starting MySQL57 in Windows services returns "The MySQL57 service on Local Computer started and the stopped. Some services stop automatically if they are not in use by other services or programs."
I then looked around and one promising solution was to run this:
mysqld.exe --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.7\my.ini" --standalone --console
So I did and out came this:
2017-11-25T01:12:00.706665Z 0 [Warning] option 'read_buffer_size': unsigned value 0 adjusted to 8192 2017-11-25T01:12:00.706665Z 0 [Warning] option 'read_rnd_buffer_size': unsigned value 0 adjusted to 1 2017-11-25T01:12:00.706665Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 2017-11-25T01:12:00.706665Z 0 [Warning] '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. 2017-11-25T01:12:00.708671Z 0 [Note] mysqld.exe (mysqld 5.7.20-log) starting as process 2968 ... 2017-11-25T01:12:00.712680Z 0 [Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions 2017-11-25T01:12:00.713685Z 0 [Note] InnoDB: Uses event mutexes 2017-11-25T01:12:00.713685Z 0 [Note] InnoDB: Memory barrier is not used 2017-11-25T01:12:00.714689Z 0 [Note] InnoDB: Compressed tables use zlib 1.2.3 2017-11-25T01:12:00.714689Z 0 [Note] InnoDB: Adjusting innodb_buffer_pool_instances from 8 to 1 since innodb_buffer_pool_size is less than 1024 MiB 2017-11-25T01:12:00.715690Z 0 [Note] InnoDB: Number of pools: 1 2017-11-25T01:12:00.715690Z 0 [Note] InnoDB: Not using CPU crc32 instructions 2017-11-25T01:12:00.718699Z 0 [Note] InnoDB: Initializing buffer pool, total size = 8M, instances = 1, chunk size = 8M 2017-11-25T01:12:00.719701Z 0 [Note] InnoDB: Completed initialization of buffer pool 2017-11-25T01:12:00.732507Z 0 [ERROR] InnoDB: Header page consists of zero bytes in datafile: .\ibdata1, Space ID:0, Flags: 0. Please refer to http://dev.mysql.com/doc/refman/5.7/en/innodb-troubleshooting-datadict.html for how to resolve the issue. 2017-11-25T01:12:00.733507Z 0 [ERROR] InnoDB: Corrupted page [page id: space=0, page number=0] of datafile '.\ibdata1' could not be found in the doublewrite buffer. 2017-11-25T01:12:00.734515Z 0 [ERROR] InnoDB: Plugin initialization aborted with error Data structure corruption 2017-11-25T01:12:00.936694Z 0 [ERROR] Plugin 'InnoDB' init function returned error. 2017-11-25T01:12:00.937698Z 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed. 2017-11-25T01:12:00.942571Z 0 [ERROR] Failed to initialize plugins. 2017-11-25T01:12:00.944576Z 0 [ERROR] Aborting 2017-11-25T01:12:00.945578Z 0 [Note] Binlog end 2017-11-25T01:12:00.950583Z 0 [Note] Shutting down plugin 'CSV' 2017-11-25T01:12:00.954598Z 0 [Note] mysqld.exe: Shutdown complete
Of which a few warnings and errors have me looking down a rabbit's hole of possible configuration issues. I don't have any data, I can start over from scratch. How can I fix this header page issue?