解决mysql-8.0 安装后无法启动服务及Navicat连接MySQL报错问题

MySQL8.0.17安装成功后,windows10系统下进入cmd命令控制台,输入mysql启动命令报“服务名无效”的错误,比如:
解决mysql-8.0 安装后无法启动服务及Navicat连接MySQL报错问题
两种解决方法,自选一个

解决方法一、将MySQL注册到win服务里面
在 mysql bin目录下, 以管理员的权限 执行 mysqld -install命令
解决mysql-8.0 安装后无法启动服务及Navicat连接MySQL报错问题
解决方法二、找到要开启服务的正确服务名
1、开始栏,输入服务
解决mysql-8.0 安装后无法启动服务及Navicat连接MySQL报错问题
2、找到MySQL服务,双击查看正确的服务名,手动启动和停止MysQL服务
解决mysql-8.0 安装后无法启动服务及Navicat连接MySQL报错问题
3、或再在CMD窗口输入MySQL的正确服务名
解决mysql-8.0 安装后无法启动服务及Navicat连接MySQL报错问题

windows系统下进入cmd命令控制台,输入mysql启动命令报“服务无法启动”的错误,比如:
解决mysql-8.0 安装后无法启动服务及Navicat连接MySQL报错问题
解决方法:
1、先进入mysql的安装目录,删除data文件夹
解决mysql-8.0 安装后无法启动服务及Navicat连接MySQL报错问题
2、删除mysql服务
开始栏输入cmd以管理员身份进入
删除mysql服务,输入如下命令: sc delete MySQL(服务名,可以自己打开计算机管理查看服务名,默认MySQL)
解决mysql-8.0 安装后无法启动服务及Navicat连接MySQL报错问题
3、重启电脑
4、重启之后,以管理员身份进入cmd控制台,切换到mysql的安装目录bin下,依次输入以下命令:
4.1 mysqld --initialize-insecure(无密码)
初始化mysql的默认配置
//mysqld --initialize(随机密码)最后不要用此命令初始化,会导致后面进不去mysql后台
解决mysql-8.0 安装后无法启动服务及Navicat连接MySQL报错问题
4.2 mysqld -install
安装mysqld作为window服务 自动启动
解决mysql-8.0 安装后无法启动服务及Navicat连接MySQL报错问题
4.3 net start mysql
启动mysql就可以了
解决mysql-8.0 安装后无法启动服务及Navicat连接MySQL报错问题
这时mysql已经能够在windows控制台正常启动和关闭了

但是因为前面我们通过初始化的操作重新设置了mysql的默认配置,修改了mysql的加密规则为默认的第一种加密方式,我们在安装MySQL的时候说过,如果使用Navicat连接mysql的话是要选择第二种加密算法。
解决mysql-8.0 安装后无法启动服务及Navicat连接MySQL报错问题
因为mysql8.0之前的版本中加密规则是mysql_native_password,而在mysql8.0之后,加密规则是caching_sha2_password。

此时我们通过navicat连接mysql的时候会报错
解决mysql-8.0 安装后无法启动服务及Navicat连接MySQL报错问题
解决方法:
1、进入mysql后台,修改加密规则
输入以下语句:
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘password’ PASSWORD EXPIRE NEVER;
//password为之前设置的数据库密码
因为前面初始化时设置的为免密码,因此可参考如下操作
解决mysql-8.0 安装后无法启动服务及Navicat连接MySQL报错问题
2、修改用户密码
ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘password’;
//password为新设置的root账户密码
解决mysql-8.0 安装后无法启动服务及Navicat连接MySQL报错问题
3、刷新权限
FLUSH PRIVILEGES;
解决mysql-8.0 安装后无法启动服务及Navicat连接MySQL报错问题
在navicat客户端输入刚修改后的密码,进行测试。
解决mysql-8.0 安装后无法启动服务及Navicat连接MySQL报错问题