登录mysql数据库出现报错信息ERROR 1045(28000)如下:
<code>[root@RedHat-2 ~]</code><code># mysql -uroot -p fanshine</code>
<code>Enter password: </code>
<code>ERROR 1045 (28000): Access denied </code><code>for</code> <code>user </code><code>'root'</code><code>@</code><code>'localhost'</code> <code>(using password: YES)</code>
分析:数据库存在空用户所致
解决:
停止mysql服务
<code>[root@RedHat-2 ~]</code><code># service mysqld stop</code>
2.进入mysql安全模式
<code>[root@RedHat-2 ~]</code><code># mysqld_safe --user=mysql --skip-grant-tables --skip-networking &</code>
注:--skip-grant-tables 启动mysql时不启动grant-tables,授权表;--skip-networking关闭MySQL的TCP/IP连接方式,跳过网络
3.登录mysql数据库
<code>[root@RedHat-2 ~]</code><code># mysql -u root mysql</code>
4.
<code>mysql> use mysql;</code>
5.查询
<code>mysql> </code><code>select</code> <code>user,host,password from user;</code>
结果如下:
<code>+------+-----------+-------------------------------------------+</code>
<code>| user | host | password |</code>
<code>| | localhost |</code>
<code> </code><code>root | localhost | *19A893FC29DBD6E2C8EAF9E248EA22AA1E1A24B7 |</code>
<code>| root | 127.0.0.1 | *19A893FC29DBD6E2C8EAF9E248EA22AA1E1A24B7 |</code>
6.删掉空用户
<code>mysql> delete from user where user=</code><code>''</code><code>;</code>
7.退出
<code>mysql> quit</code>
8.启动服务
<code>[root@RedHat-2 ~]</code><code># service mysqld start</code>
9.重新登录
<code>[root@RedHat-2 ~]</code><code># mysql -u root -p</code>
<code>Enter password:</code>
<code>输入密码登录即可。</code>
<code></code>
本文转自 SoulMio 51CTO博客,原文链接:http://blog.51cto.com/bovin/1963178,如需转载请自行联系原作者