1. 程式人生 > >ubuntu 上Access denied for user 'root'@'localhost' (using password:YES) 的解決方案

ubuntu 上Access denied for user 'root'@'localhost' (using password:YES) 的解決方案

在ubuntu系統通過apt-get 安裝好mysql 並且配置好密碼後, 使用這個命令“mysql -uroot -pmyadmin”後出現以下錯誤:

“Access denied for user 'root'@'localhost' (using password:YES)”

直接輸入“mysql” 也回報類似的錯誤:應該是:

“Access denied for user 'ODBC'@'localhost' (using password:NO)”。

有網上說開啟MySQL 的 MySQL 5.5 Command Line Client,在裡面進行一系列的操作即可。但是此介面進來就要輸入密碼:

Access <wbr>denied <wbr>for <wbr>user <wbr>'root'@'localhost' <wbr>(using <wbr>password:YES) <wbr>解決方案 無論輸入什麼都直接退出。沒撤了。

(BTW, 嘗試重灌在安裝MySQL的時候不設定密碼。安裝成功後,還是一樣報錯!)

網上看了一大堆的解決辦法,都不行。最後,結合上面的文章和其他一些文章,終於解決問題了, 也不知道是不是最好解決手段. 歡迎"大家"之言!

解決步驟:

1、開啟MySQL目錄下的配置檔案(我的目錄是/etc/mysql/mysql.conf.d/mysqld.cnf, 可能有的系統是my.ini),在檔案的最後新增一行“skip-grant-tables”,儲存並關閉檔案。

2、重啟MySQL服務(我用命令 service mysql restart)。

3、在命令列中輸入“mysql -uroot -p”(不輸入密碼),回車即可進入資料庫。

4、執行,“use mysql;”使用mysql資料庫。

5、執行,“update user set authentication_string=PASSWORD("rootadmin") where user='root';”(修改root的密碼, 有的mysql表列名可能是password, 需要是命令:"update user set password=PASSWORD("rootadmin") where user='root';")

6、開啟MySQL目錄下的my.ini檔案,刪除最後一行的“skip-grant-tables”,儲存並關閉檔案。

7、重啟MySQL服務。( service mysql restart)

8、在命令列中輸入“mysql -uroot -prootadmin”,問題搞定!