今天新安装了mysql8.0 ,也是特别坑,明明测试能通过连接,服务启动之后就是登不进去,也不知道是忘记了还是咋的,一直报
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
网上看了很多解决方法,很多的都是之前的解决办法,在新的版本中根本没有起作用,后面看了几个博客综合起来才解决了,记录一下。
第一步:关闭服务 net stop mysql 这个需要在管理员权限才行 ,具体怎么用管理员打开cmd略过
第二步:进入到安装的bin目录 执行 :mysqld --console --skip-grant-tables --shared-memory
这一步这些输出需要时这些,如果这一步有错误,需要自行处理掉 ,这个窗口执行完之后不要关闭,重新起一个新的cmd窗口
第三步:启动一个新的cmd窗口 执行 mysql -uroot -p 就能免密进入
第四部修改密码:
1. use mysql
2. update user set authentication_string='' where user='root' 如果这个字段有值,先置为空
3. flush privileges 刷新权限表
4.ALTER user 'root'@'localhost' IDENTIFIED BY 'Tianya1234' 修改root 密码
就OK了
cmd中输入net start mysql 提示:服务名无效或者MySQL正在启动 MySQL无法启动
在DOS窗口、gitbush以及一些可以使用的命令行工具的界面上,输入:net stop mysql、net start mysql时,总是提示:服务名无效。
出现提示如下:
原因是:因为net start +服务名,启动的是win下注册的服务。此时,系统中并没有注册mysql到服务中。即当前路径下没有mysql服务。
如何将MySQL注册到win服务里面?!!!(步骤如下)
1. 来到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窗口就可以。