0
votes

I did look up the web for a solution such as this very relevant post on SO, to no avail.

Here is the steps that I installed mysql for win 10 and attempts to start it:

  1. downloaded mysql 5.7.18 zip file and unzip it into my app folder;
  2. open "cmd" as admin and run "mysqld --install", it shows "Service successfully installed."
  3. run "net start mysql", it shows:
    The MySQL service is starting.
    The MySQL service could not be started.
    The service did not report an error.
    More help is available by typing NET HELPMSG 3534.
  1. Run "mysqld.exe --console", it chunked out lines of messages like below:
    2017-07-16T14:55:49.066437Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
    2017-07-16T14:55:49.077216Z 0 [Note] --secure-file-priv is set to NULL. Operations related to importing and exporting data are disabled
    2017-07-16T14:55:49.081191Z 0 [Note] mysqld.exe (mysqld 5.7.18) starting as process 15872 ...
    2017-07-16T14:55:50.167310Z 0 [Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions
    2017-07-16T14:55:50.167310Z 0 [Note] InnoDB: Uses event mutexes
    2017-07-16T14:55:50.168434Z 0 [Note] InnoDB: _mm_lfence() and _mm_sfence() are used for memory barrier
    2017-07-16T14:55:50.169398Z 0 [Note] InnoDB: Compressed tables use zlib 1.2.3
    2017-07-16T14:55:50.195084Z 0 [Note] InnoDB: Number of pools: 1
    2017-07-16T14:55:50.249204Z 0 [Note] InnoDB: Not using CPU crc32 instructions
    2017-07-16T14:55:50.290217Z 0 [Note] InnoDB: Initializing buffer pool, total size = 128M, instances = 1, chunk size = 128M
    2017-07-16T14:55:50.296068Z 0 [Note] InnoDB: Completed initialization of buffer pool
    2017-07-16T14:55:50.453825Z 0 [Note] InnoDB: Highest supported file format is Barracuda.
    2017-07-16T14:55:50.813667Z 0 [Note] InnoDB: Creating shared tablespace for temporary tables
    2017-07-16T14:55:50.815630Z 0 [Note] InnoDB: Setting file '.\ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
    2017-07-16T14:55:51.040444Z 0 [Note] InnoDB: File '.\ibtmp1' size is now 12 MB.
    2017-07-16T14:55:51.062121Z 0 [Note] InnoDB: 96 redo rollback segment(s) found. 96 redo rollback segment(s) are active.
    2017-07-16T14:55:51.062590Z 0 [Note] InnoDB: 32 non-redo rollback segment(s) are active.
    2017-07-16T14:55:51.068603Z 0 [Note] InnoDB: Waiting for purge to start
    2017-07-16T14:55:51.128491Z 0 [Note] InnoDB: 5.7.18 started; log sequence number 1210018
    2017-07-16T14:55:51.132269Z 0 [Note] InnoDB: Loading buffer pool(s) from C:\Users\jonat\opt\mysql-5.7.18-winx64\data\ib_buffer_pool
    2017-07-16T14:55:51.133249Z 0 [Note] Plugin 'FEDERATED' is disabled.
    mysqld: Table 'mysql.plugin' doesn't exist
    2017-07-16T14:55:51.165071Z 0 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
    2017-07-16T14:55:51.233060Z 0 [Note] InnoDB: Buffer pool(s) load completed at 170716 10:55:51
    2017-07-16T14:55:51.251567Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
    2017-07-16T14:55:51.267669Z 0 [Warning] Failed to set up SSL because of the following SSL library error: SSL context is not usable without certificate and private key
    2017-07-16T14:55:51.272001Z 0 [Note] Server hostname (bind-address): '*'; port: 3306
    2017-07-16T14:55:51.274922Z 0 [Note] IPv6 is available.
    2017-07-16T14:55:51.278873Z 0 [Note]   - '::' resolves to '::';
    2017-07-16T14:55:51.281791Z 0 [Note] Server socket created on IP: '::'.
    2017-07-16T14:55:51.308759Z 0 [Warning] Failed to open optimizer cost constant tables

    2017-07-16T14:55:51.310583Z 0 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist
    2017-07-16T14:55:51.311554Z 0 [ERROR] Aborting

    2017-07-16T14:55:51.312531Z 0 [Note] Binlog end
    2017-07-16T14:55:51.314481Z 0 [Note] Shutting down plugin 'ngram'
    2017-07-16T14:55:51.314481Z 0 [Note] Shutting down plugin 'partition'
    2017-07-16T14:55:51.314481Z 0 [Note] Shutting down plugin 'BLACKHOLE'
    2017-07-16T14:55:51.315463Z 0 [Note] Shutting down plugin 'ARCHIVE'
    2017-07-16T14:55:51.315463Z 0 [Note] Shutting down plugin 'PERFORMANCE_SCHEMA'
    2017-07-16T14:55:51.316444Z 0 [Note] Shutting down plugin 'MRG_MYISAM'
    2017-07-16T14:55:51.319389Z 0 [Note] Shutting down plugin 'MyISAM'
    ....
    2017-07-16T14:55:52.615409Z 0 [Note] Shutting down plugin 'binlog'
    2017-07-16T14:55:52.618322Z 0 [Note] mysqld.exe: Shutdown complete 

1
Please do everything that is listed in the second answer in your linked question. You very likely didn't do a mysqld --initialize-insecure (or mysqld --initialize). - Solarflare
great! that works! thanks a lot. - J.E.Y

1 Answers

0
votes

In MySQL installation root folder (suppose it is c:\mysql), create a text file, say mypass.txt and copy this line to it:

ALTER USER 'root'@'localhost' IDENTIFIED BY '<yourpassword>';

The run

mysqld --initialize
mysqld --init-file=c:/mysql/mypass.txt

And if you want to run MySQL as a Windows Service:

mysqld --install MySQLXY --defaults-file="c:/mysql/my.ini"