天天看點

7、mysql建立資料庫失敗,提示Access denied for user ''@'localhost'

    今天在連接配接自己電腦上的mysql時,提示“Access denied for user ''@'localhost' to database”。

初步判斷是使用者不對,因為localhost前面都沒有使用者名,而我是以特定使用者登入的,是肯定有使用者名的。以前改過電腦的域,可能是這個原因所緻。

解決方法:

1)采用[1]中提供的重新初始化密碼:

/usr/bin/mysql_secure_installation

2)可以嘗試采用[2]中方法(我未試,方法1已解決問題)

    另外,通過show grants;檢視授權,通過 select current_user();檢視目前使用者,通過select user,host,password from mysql.user; 檢視相關的使用者名和host。

參考

【1】 使用mysql的一個執行個體

<a href="http://www.cnblogs.com/mydomain/archive/2011/08/18/2144961.html">http://www.cnblogs.com/mydomain/archive/2011/08/18/2144961.html</a>

【2】 同類問題解決經驗

<a href="http://bbs.linuxpk.com/thread-22953-1-6.html">http://bbs.linuxpk.com/thread-22953-1-6.html</a>

① 關閉mysql:

# service mysqld stop

② 然後:

# mysqld_safe --skip-grant-tables

③ 啟動mysql:

# service mysqld start

④ mysql -u root

⑤ mysql&gt; use mysql

⑥ mysql&gt; UPDATE user SET Password=PASSWORD('xxx') WHERE user='root';

⑦ mysql&gt; flush privileges;

⑧ mysql&gt;\q