原因:初始化命令mysqld --initialize --console出错
以管理员身份打开cmd进入到MySQL的bin目录
执行命令mysqld --initialize --console
作用:是使MySQL初始化并得到临时密码。
PS C:\Software\mysql-8.0.11-winx64\bin> mysqld --initialize --console
2018-10-31T03:18:05.201142Z 0 [System] [MY-013169] [Server] C:\Software\mysql-8.0.11-winx64\bin\mysqld.exe (mysqld 8.0.11) initializing of server in progress as process 2356
2018-10-31T03:18:05.231148Z 0 [ERROR] [MY-010457] [Server] --initialize specified but the data directory has files in it. Aborting.
2018-10-31T03:18:05.242682Z 0 [ERROR] [MY-010119] [Server] Aborting
2018-10-31T03:18:05.251312Z 0 [System] [MY-010910] [Server] C:\Software\mysql-8.0.11-winx64\bin\mysqld.exe: Shutdown complete (mysqld 8.0.11) MySQL Community Server - GPL.
解决: 清空data内数据,重新输入mysqld --initialize --console
mysql安装目录下data文件夹有数据,导致报错。
data文件夹的作用:
1、存放bin/data(所有数据库的信息都在这里);
2、存放数据库的文件夹,比如有个数据库叫teacher,那么会有个teacher文件夹,存放teacher数据库的所有文件。
最后有个临时密码生成,用临时密码登入后修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码' PASSWORD EXPIRE NEVER;
(永久修改密码命令)