MySQL ERROR 1045 : Access denied for user 'ODBC'@'localhost' (using password: NO)

刚开始安装的时候直接输入mysql 是可以进去的,这是进入了一个基本的没有密码的账号

但是给root设置完密码后,发现输入mysql后进不去了,出现

ERROR 1045 : Access denied for user 'ODBC'@'localhost' (using password: NO)

的错误,这着实让人很郁闷,即使知道了要以mysql -u root -p 输入密码的形式才可以进去,也想把问题搞清楚

在刚安装后的时候,mysql数据库里面的user数据表存储的状态如下:里面有user,password,host 等

MySQL ERROR 1045 : Access denied for user 'ODBC'@'localhost' (using password: NO)_第1张图片

其中有一个匿名的空账号

host限制了这个用户只能从哪个机器上来连接mysql,前三个都是从本地

第一个是用域名的方式表示的。
第二个是用ipv4的地址表示的。
第三个是用ipv的地址表示的。
当然要是连接别的机器,就可以添加ip地址连接了

设置完密码后的状态如下:

MySQL ERROR 1045 : Access denied for user 'ODBC'@'localhost' (using password: NO)_第2张图片

匿名的空账户还是空的。

当出现标题出现的错误时,这时你的状态肯定是这样的

MySQL ERROR 1045 : Access denied for user 'ODBC'@'localhost' (using password: NO)_第3张图片

即最后一个匿名账号设置了密码,这个密码是怎么设置的,可能是什么操作导致的,现在还没清楚

这样你就可以把密码清除了就可以了

update user set password="" where user="";
flush privileges;

这时再看就会出现上一个状态了。

ok,完成

其实很多错误的出现,解决不了,本质还是对其本身不了解,没有读懂mysql,多看看参考手册

http://dev.mysql.com/doc/refman/5.1/en/default-privileges.html

你可能感兴趣的:(数据库)