1.错误信息
ERROR: Access denied for user 'root'@'localhost' (using password: NO)
ERROR 1044 (42000) ERROR 1142 (42000): SELECT command denied to user ''@'localhost' for table 'user'
2.原因分析
root 设置了密码,需要清除root
3.解决方法
3-1.输入:mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
3-2.输入:mysql -u root
3-3.完整命令
3-4. 输入:use mysql;
3-5.输入:select user,host,password from mysql.user;
注:这里的password就是你的root密码加密之后的形式,如果你在这个看到的是你密码的明文模式,恭喜你,你以前成功的设置错了
3-6.重置密码:
#括号里面引号包围的是你要设置的新密码
update mysql.user set password=PASSWORD("新密码") where User='root';
注:如果这里的PASSWORD是用来给新设置的密码加密的,如果你没写的话,你在上面3-5看到的就是明文密码,然后死活登不上去。。。
错误:
正确:
3-7 刷新权限
flush privileges;
3-8 exit