天天看点

关于mysql登录出现报错信息:ERROR 1045 (28000)的解决方法

登录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 &amp;</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&gt; use mysql;</code>

5.查询

<code>mysql&gt; </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&gt; delete from user where user=</code><code>''</code><code>;</code>

7.退出

<code>mysql&gt; 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,如需转载请自行联系原作者