1. initial mysql like below, With the --initialize-insecure option, no root password is generated.
[LAB] root@jptkytcdh01vl /etc/init.d # /usr/sbin/MysqLd --initialize-insecure --user=MysqL --datadir=/var/lib/MysqL
2018-08-03T01:26:56.052349Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2018-08-03T01:26:56.054339Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.
2018-08-03T01:26:56.054378Z 0 [ERROR] Aborting
2. got error as above, need to move existing datadir first.
mv /var/lib/MysqL /var/lib/MysqL_20180803
[LAB] root@jptkytcdh01vl /etc/init.d # /usr/sbin/MysqLd --initialize-insecure --user=MysqL --datadir=/var/lib/MysqL
[LAB] root@jptkytcdh01vl /etc/init.d # service MysqLd start
Starting MysqLd: [ OK ]
3. then login and reset the password.
[LAB] root@jptkytcdh01vl /etc/init.d # MysqL -u root
Welcome to the MysqL monitor. Commands end with ; or \g.
Your MysqL connection id is 3
Server version: 5.7.23 MysqL Community Server (GPL)
copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered Trademark of Oracle Corporation and/or its
affiliates. Other names may be Trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MysqL> alter user 'root'@'localhost' identified by 'root';
Query OK, 0 rows affected (0.00 sec)
Doc.
https://dev.MysqL.com/doc/refman/5.7/en/data-directory-initialization-MysqLd.html