mysql ERROR1405 access deny 问题解决

 sudo /usr/local/mysql/bin/mysqld_safe --user=mysql --skip-grant-tables --skip-networking

使用这条命令可以跳过开始的认证。但是这样的登录有权限的限制

要彻底解决问题

mysql> use mysql
mysql> UPDATE user SET Password=PASSWORD('') where USER='root'
    -> ;
ERROR 1054 (42S22): Unknown column 'Password' in 'field list'


mysql> update mysql.user set authentication_string=password('zhihu123') where user='root'
    -> ;
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 1

mysql> quit

第一条语句是在大多数的网站上查到的解决方法 在这里不适用 可能是新版本的原因

第二条语句才是正道,问题解决!

 

可是接下来又会出现新的问题,当输入show databases 的时候,出现了以下情况。

ERROR 1820 (HY000): You must SET PASSWORD before executing this statement

可是明明是 mysql -u root -p 命令进来的呀?

SET PASSWORD = PASSWORD(新密码);

这里虽然不理解 但是上面这条命令可以解决

posted on 2016-03-24 17:06  月尽西楼  阅读(1842)  评论(0编辑  收藏  举报

导航