sc delete MySQL80


这里我自己的my.ini在D盘下
文件目录
D:\ProgramData\MySQL\MySQL Server 8.0

一定要修改datadir,修改自己的my.ini路径
datadir=D:/ProgramData/MySQL/MySQL Server 8.0\Data

删除mysql下的data文件,如果有重要的数据表先备份好。在cmd中重新生成data文件,在data中输入:
mysqld --initialize-insecure --user=mysql
命令执行完毕会在自己安装mysql的文件夹中生成新的data文件。

在自己安装mysql的文件夹中生成新的data文件

此步骤可以跳过这里我将data文件夹移至自己的ProgramData中去

mysqld --install "MySQL80" --defaults-file="D:\ProgramData\MySQL\MySQL Server 8.0\my.ini"
“MySQL80”是服务名称,可以自己修改;”…\my.ini“是新建的配置文件的位置。
此时在服务中可以看到MySQL80服务,如果提示安装成功,这时打开电脑的”服务“窗口,可以找到新添加的MySql80服务:

启动mysql:在cmd中输入命令:D:\developer_tools\MySQL\MySQL Server 8.0>net start mysql80,如果启动成功,如下:

如果不成功:

这时可能是my.ini配置文件中的某些配置有问题。你可以修改ini文件内容,然后从头按步骤再试一遍。
删除了data文件和服务之后,之前的密码就失效了,所以需要重新设置密码。在cmd中输入如下命令:D:\developer_tools\MySQL\MySQL Server 8.0> mysql -uroot -p这时密码为空,不用输入密码直接回车。

update mysql.user set authentication_string=password("你的密码") where user="root";
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';

mysql> exit;mysql -u root -p如图:
再次登录Navicat,成功
