敲入mysql -u root -p命令然后回车,当需要输入密码时,直接按enter键,便可以不用密码登录到数据库当中
![](http://upload-images.jianshu.io/upload_images/5190367-7378d3ee5af0bbc1.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1000/format/webp)
4. 修改root密码
问题出现了!网上铺天盖地的重置密码的方式报错:
set password for 'root'@'localhost'=password('123');
如下图,无论改大写还是小写,都会报语法错误
ERROR 1064 (42000): You have an error in your SQL syntax;
![](http://upload-images.jianshu.io/upload_images/5190367-3ed1690e07551557.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1000/format/webp)
5. 解决root密码报错
因为现在是新版本8.0了 ,老版本的修改密码的语法已不再适用,mysql 5.7.9以后废弃了password字段和password()函数;
mysql>use mysql;
mysql>FLUSH PRIVILEGES;
mysql>ALTER user 'root'@'localhost' IDENTIFIED BY 'newpassward' //注意,这里的密码要用包含8位大写+小写+特殊字符+数字的密码
会提示修改密码成功!
mysql>quit;
退出mysql;
注意:原来skip-grant-tables的终端要关闭,最好在kill掉mysql进程;
然后重启mysql;
直接用mysql -uroot -p 输入刚才设置的密码即可正常登录!
6. 如果还有其他问题,请直接查看官网文档,比网上各种老版本的解决方案靠谱 [官网](https://dev.mysql.com/doc/refman/8.0/en/resetting-permissions.html)