0

UPDATE: Solved! Here is my solution:

Todays systems are often running on a disk which is formatted in GPT. This is because Windows 10 needs such a partition to be installed. The problem is that MySql cant deal with this partition style and so it crashes. Here is my workaround:


  • Create a virtual disk: manual here

  • Format this VHD with MBR

  • Install MySql custom on your new VHD (dont forget to create a user for DB)

This should be it! :)


I try to install MySql on my Dell XPS 13 9360 with Windows 10. When it comes to starting the server as a service, the service cannot start. As so far this problem is widely known and there are many attempts to solve this issue. Unfortunately non of these work for me. Here is what I tried:

  • insert innodb_flush_method=normal into my.ini
  • change service to register at local account
  • check firewall for port rules

So my question: Does anybody experience the same issue and knows a way to get it running? You would help me really so much :) Here is my error log:

2017-01-23T14:11:44.458654Z 0 [Warning] option 'new': boolean value 't' wasn't recognized. Set to OFF.
2017-01-23T14:11:44.458654Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2017-01-23T14:11:44.458654Z 0 [Note] --secure-file-priv is set to NULL. Operations related to importing and exporting data are disabled
2017-01-23T14:11:44.459156Z 0 [Note] mysqld (mysqld 5.7.17) starting as process 5340 ...
2017-01-23T14:11:44.468178Z 0 [Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions
2017-01-23T14:11:44.469212Z 0 [Note] InnoDB: Uses event mutexes
2017-01-23T14:11:44.469713Z 0 [Note] InnoDB: _mm_lfence() and _mm_sfence() are used for memory barrier
2017-01-23T14:11:44.470716Z 0 [Note] InnoDB: Compressed tables use zlib 1.2.3
2017-01-23T14:11:44.471217Z 0 [Note] InnoDB: Number of pools: 1
2017-01-23T14:11:44.471719Z 0 [Note] InnoDB: Not using CPU crc32 instructions
2017-01-23T14:11:44.474727Z 0 [Note] InnoDB: Initializing buffer pool, total size = 128M, instances = 1, chunk size = 128M
2017-01-23T14:11:44.481212Z 0 [Note] InnoDB: Completed initialization of buffer pool
2017-01-23T14:11:44.546889Z 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-01-23T14:11:44.548924Z 0 [ERROR] InnoDB: Corrupted page [page id: space=0, page number=0] of datafile '.\ibdata1' could not be found in the doublewrite buffer.
2017-01-23T14:11:44.550425Z 0 [ERROR] InnoDB: Plugin initialization aborted with error Data structure corruption
2017-01-23T14:11:44.771283Z 0 [ERROR] Plugin 'InnoDB' init function returned error.
2017-01-23T14:11:44.772134Z 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2017-01-23T14:11:44.772635Z 0 [ERROR] Failed to initialize plugins.
2017-01-23T14:11:44.773135Z 0 [ERROR] Aborting
2017-01-23T14:11:44.773636Z 0 [Note] Binlog end
2017-01-23T14:11:44.774138Z 0 [Note] Shutting down plugin 'CSV'
2017-01-23T14:11:44.774640Z 0 [Note] mysqld: Shutdown complete

thank you in advance!


@Bill Karwin :

OK, so after removing the tablespace the result is this:

2017-01-23T15:39:39.874463Z 0 [Note] --secure-file-priv is set to NULL. Operations related to importing and exporting data are disabled
2017-01-23T15:39:39.874965Z 0 [Note] mysqld (mysqld 5.7.17) starting as process 624 ...
2017-01-23T15:39:39.880480Z 0 [Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions
2017-01-23T15:39:39.880980Z 0 [Note] InnoDB: Uses event mutexes
2017-01-23T15:39:39.881484Z 0 [Note] InnoDB: _mm_lfence() and _mm_sfence() are used for memory barrier
2017-01-23T15:39:39.882022Z 0 [Note] InnoDB: Compressed tables use zlib 1.2.3
2017-01-23T15:39:39.882986Z 0 [Note] InnoDB: Number of pools: 1
2017-01-23T15:39:39.882986Z 0 [Note] InnoDB: Not using CPU crc32 instructions
2017-01-23T15:39:39.885491Z 0 [Note] InnoDB: Initializing buffer pool, total size = 128M, instances = 1, chunk size = 128M
2017-01-23T15:39:39.891024Z 0 [Note] InnoDB: Completed initialization of buffer pool
2017-01-23T15:39:39.914631Z 0 [Note] InnoDB: The first innodb_system data file 'ibdata1' did not exist. A new tablespace will be created!
2017-01-23T15:39:39.915071Z 0 [ERROR] InnoDB: redo log file '.\ib_logfile1' exists. Creating system tablespace with existing redo log files is not recommended. Please delete all redo log files before creating new system tablespace.
2017-01-23T15:39:39.916074Z 0 [ERROR] InnoDB: InnoDB Database creation was aborted with error Generic error. You may need to delete the ibdata1 file before trying to start up again.
2017-01-23T15:39:40.132668Z 0 [ERROR] Plugin 'InnoDB' init function returned error.
2017-01-23T15:39:40.132668Z 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2017-01-23T15:39:40.134090Z 0 [ERROR] Failed to initialize plugins.
2017-01-23T15:39:40.134590Z 0 [ERROR] Aborting

2017-01-23T15:39:40.135594Z 0 [Note] Binlog end
2017-01-23T15:39:40.136094Z 0 [Note] Shutting down plugin 'CSV'
2017-01-23T15:39:40.136595Z 0 [Note] mysqld: Shutdown complete

new error after deleting logdata1 and 0:

2017-01-23T15:55:22.158765Z 0 [Note] --secure-file-priv is set to NULL. Operations related to importing and exporting data are disabled
2017-01-23T15:55:22.159266Z 0 [Note] mysqld (mysqld 5.7.17) starting as process 2880 ...
2017-01-23T15:55:22.165783Z 0 [Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions
2017-01-23T15:55:22.165783Z 0 [Note] InnoDB: Uses event mutexes
2017-01-23T15:55:22.165783Z 0 [Note] InnoDB: _mm_lfence() and _mm_sfence() are used for memory barrier
2017-01-23T15:55:22.166284Z 0 [Note] InnoDB: Compressed tables use zlib 1.2.3
2017-01-23T15:55:22.166284Z 0 [Note] InnoDB: Number of pools: 1
2017-01-23T15:55:22.166786Z 0 [Note] InnoDB: Not using CPU crc32 instructions
2017-01-23T15:55:22.169292Z 0 [Note] InnoDB: Initializing buffer pool, total size = 128M, instances = 1, chunk size = 128M
2017-01-23T15:55:22.178820Z 0 [Note] InnoDB: Completed initialization of buffer pool
2017-01-23T15:55:22.202407Z 0 [Note] InnoDB: The first innodb_system data file 'ibdata1' did not exist. A new tablespace will be created!
2017-01-23T15:55:22.203383Z 0 [Note] InnoDB: Setting file '.\ibdata1' size to 12 MB. Physically writing the file full; Please wait ...
2017-01-23T15:55:22.249691Z 0 [Note] InnoDB: File '.\ibdata1' size is now 12 MB.
2017-01-23T15:55:22.263685Z 0 [Note] InnoDB: Setting log file .\ib_logfile101 size to 48 MB
2017-01-23T15:55:22.342287Z 0 [Note] InnoDB: Setting log file .\ib_logfile1 size to 48 MB
2017-01-23T15:55:22.452340Z 0 [ERROR] InnoDB: Operating system error number 87 in a file operation.
2017-01-23T15:55:22.452842Z 0 [Note] InnoDB: Some operating system error numbers are described at http://dev.mysql.com/doc/refman/5.7/en/operating-system-error-codes.html
2017-01-23T15:55:22.453346Z 0 [ERROR] InnoDB: File .\ib_logfile101: 'aio write' returned OS error 187. Cannot continue operation
2017-01-23T15:55:22.453346Z 0 [ERROR] InnoDB: Cannot continue operation.
Jan
  • 9
  • 3
  • It can't read the InnoDB tablespace. Either your tablespace was corrupted by a bad disk, or perhaps you were messing with files in the datadir yourself. You may have to just remove your tablespace and restart the MySQL Service. It should create a new empty tablespace. But you will lose all the data in your old tablespace. If you had irreplaceable data, contact a MySQL data recovery service like twindb.com. – Bill Karwin Jan 23 '17 at 15:24
  • hey @BillKarwin , thanks for your help. Could you tell me how to remove the tablespace? Just for clarification: I didnt even work with this installation of mysql because it never installs. – Jan Jan 23 '17 at 15:30
  • Open the File Explorer to the folder that is your MySQL Server data directory. On Windows 10, this is probably `C:\ProgramData\MySQL\MySQL Server 5.7\data`. Select the file `ibdata1` and delete the file. Then restart your MySQL Server in the `Services` control panel. The absence of the tablespace file will cause MySQL Server to create a brand new tablespace. – Bill Karwin Jan 23 '17 at 15:36
  • hey @BillKarwin , no its a generic error :/ please see my edit in the post – Jan Jan 23 '17 at 15:45
  • Delete `ib_logfile0` and `ib_logfile1` in the same folder and try starting it again. I thought it would ignore or overwrite those files since it's creating a new tablespace anyway, but apparently not. – Bill Karwin Jan 23 '17 at 15:48
  • ahaaaa, now i get a System error 87 and 187 - please see last edit. ...we´re moving forward :) – Jan Jan 23 '17 at 15:56
  • Okay that one appears to a be a Windows thing. Edit your `my.ini` and add a line in the `[mysqld]` section: `innodb_flush_method=normal`. See http://stackoverflow.com/questions/22461872/configuration-of-mysql-server-installation-failed-or-cant-start-the-service – Bill Karwin Jan 23 '17 at 16:02
  • This is something I already did :/ doesnt work eather where exactly do I have to put it? maybe its just the wrong line. BUT: One other thing: I tried the installation on another system and it worked just fine. The only difference is, that my disk is formatted in GPT and the other in MBR...maybe the reason? – Jan Jan 23 '17 at 16:13
  • Please don't "Update: Solved" like on a forum. That's what the Answer section below is for, and it also marks the question as answered. – tadman Jan 23 '17 at 16:53
  • oh OK, ill do, thanks! – Jan Jan 23 '17 at 16:58

1 Answers1

1

Found the solution:

Todays systems are often running on a disk which is formatted in GPT. This is because Windows 10 needs such a partition to be installed. The problem is that MySql cant deal with this partition style and so it crashes. Here is my workaround:

  • Create a virtual disk: manual here
  • Format this VHD with MBR
  • Install MySql custom on your new VHD (dont forget to create a user for DB)

This should be it! :)

Jan
  • 9
  • 3