登入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,如需轉載請自行聯系原作者