mysql安装好后,不知道密码,报ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
5.7之前的版本由于初始化密码默认为空,所以直接Enter就可以进入mysql服务,但是5.7之后mysql的初始化密码是一个随机的长字符串,故此处需要按如下步骤进行操作:
1.关闭服务net stop MySQL,然后输入mysqld --skip-grant-tables ,先不要回车
2.打开另一个命令行窗口,和前面一样的操作来到bin目录下,输入 mysql -u root -p,先不要回
这个时候,1操作,开始回车,2操作也跟着回车
4.登录 mysql -u root -p
密码为空,直接回车;
就可以进去了
5.use mysql;
(可能先前的版本密码的抬头是password,5.7.11及之后是 authentication_string,可以select * from user,查看一下)
(老版本)update user set password=password("123456") where user="root";
(5.7.11及之后)update user set authentication_string=password("123456") where user="root";
6.flush privileges;
命令解释:mysql 新设置用户或更改密码后需用flush privileges刷新MySQL的系统权限相关表,否则会出现拒绝访问,还有一种方法,就是重新启动mysql服务器,来使新设置生效。