第一步遇到计算机-右击-管理-服务启动失败:原文链接https://blog.csdn.net/ermaner666/article/details/79096939/
1.在DOS窗口、gitbush以及一些可以使用的命令行工具的界面上,输入:net stop mysql、net start mysql时,总是提示:服务名无效。
出现提示如下:
原因是:因为net start +服务名,启动的是win下注册的服务。此时,系统中并没有注册mysql到服务中。即当前路径下没有mysql服务。
如何将MySQL注册到win服务里面?!!!(步骤如下)
- 来到MySQL的安装路径下bin
2. 在命令行中输入mysqld --install
成功:出现Service successfully install代表你已经安装成功,
不成功:
如果出现以上文字的时候,你需要用管理员的身份运行DOS窗口,这样就可以成功了
3. 执行 net start mysql出现:
删除mysql下的data文件,重新执行 mysqld --initialize 就可以在当前路径下生成data文件夹,再执行net start mysql 就可以启动mysql
快速以管理员身份打开DOS:
用管理员身份打开DOS命令窗口:在当前文件夹下bin下,先按住Shift+单击鼠标右键以管理员身份运行Dos窗口就可以。
第二步之后发现还是MySQL无法启动:引入原文链接参考https://cloud.tencent.com/developer/article/1387180
1、此时通过命令行窗口再次登录数据库(命令为:mysql –u root -p)就可以顺利进入了,但是输入你之前的历史遗留的密码并不好使了,而且会报错,报错为:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES),如下图所示。
这是因为MySQL初始化之后,生成了一个初始密码,放在了data文件夹下以.err为后缀的文件夹下,如下图所示。
2、此时,通过电脑自带的记事本打开文件,是不太行得通的,通过sublime text就可以顺利打开了,以“password”为搜索项,很快就定位到初始密码了,如下图所示。
这个密码是随机生成的,而且相对复杂,可以直接复杂粘贴到命令行窗口。
3、将初始化密码进行复制,粘贴到MySQL登录的密码中去,如下图所示。
此时可以看到,顺利进入到了MySQL。
4、但是直接输入MySQL的简单命令之后,发现并不能操作数据库,会提示报错:ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.,如下图所示。
5、这个报错的意思是告诉你重设密码,此时只需要输入命令重新设置密码即可。至于MySQL重设密码的方法网上有很多,在这里不展开讲述了,小编用的语法是:alter user 'root'@'localhost' identified by '123456';,其中123456是重设的密码,大家可以自定义的,顺利设置完成之后记得刷新权限:flush privileges;,尔后你就可以正常操作数据库了。该步骤的具体操作过程如下图所示。
至此,问题完美的解决了,希望对日后不慎踩入此坑的小伙伴们有帮助~~
第三步之后发现还navicat连接异常 authentication plugin 'caching_sha2_password' ,解决引入原文链接https://blog.csdn.net/m290345792/article/details/88316962?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task
1.mysql 8.0 默认使用 caching_sha2_password 身份验证机制 —— 从原来的 mysql_native_password 更改为 caching_sha2_password。 从 5.7 升级 8.0 版本的不会改变现有用户的身份验证方法,但新用户会默认使用新的 caching_sha2_password 。
客户端不支持新的加密方式。
修改用户的密码和加密方式。在命令行模式下进入mysql。
输入以下命令:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
然后使用navicate 就可以正常连接了。