在安装MySQL的最后一步发生了如下错误:
报:MySQL error 1042: Unable to connect to any of the specified MySQL hosts.
网上大部分介绍了两种解决办法方法:
第一种,治标不治本,win+r打开运行,输入services.msc打开服务(或者我的电脑-右击-管理-找到服务),找到安装MySQL时添加的服务名,一般8.0版本的MySQL默认是MySQL80,双击打开,登录选项卡下将选择的此账户改为选择本地系统账户。
应用确定之后再执行就没问题了,不过这种办法在每次重装MySQL之后都需要操作一次。不可行!!!
第二种:配置组策略,这是windows的权限管理带来的问题,步骤如下:
右击此电脑–>管理–>本地用户和组–>组–>双击Administrators–>添加–>高级
把NETWORK SERVICE添加到Administrators组
以上方式我都试过,没有解决我的问题,反而设置之后在命令行使用mysql问题变多!!!
以下是我解决问题的方法:
1、首先我们先通过管理员权限进入cmd,进入MySQL安装目录的bin目录下:
2、接着输入mysqld --initialize --console,就会出现以下画面,其中标红的为数据库root用户的初始密码,一定要牢记,后面登录需要用到,当然要是不小心关掉了或者没记住,删掉初始化的 data目录,再执行一遍初始化命令又会重新生成。
3、再然后输入mysqld --install安装mysql服务,这时候你会发现服务安装成功了,输入net start mysql启动服务
4、输入mysql -u root -p后会让你输入密码,密码为前面第二个步骤红色标志的那些,输入正确后就会出现如下界面,表示进入了MySQL命令模式。
5、接着更改密码,输入ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码'; 出现如下界面表示更改成功。
感谢:https://zhuanlan.zhihu.com/p/47459033