解決ubuntu16.04安裝mysql5.7.17登入時出現ERROR 1045 (28000)的問題(圖)

黄舟
發布: 2017-03-21 14:42:55
原創
2043 人瀏覽過

這篇文章主要介紹了解決ubuntu 16.04安裝mysql5.7.17後,登入時出現ERROR 1045 (28000): Access denied for user 'root'@'localhost' 問題,需要的朋友可以參考下

一、問題說明

    今天,筆者為了練習sql,在ubuntu16.04上安裝了MySQL。作者在網路上搜尋了在ubuntu16.04安裝mysql的步驟,並跟著步驟一步步操作,然而,讓筆者無法明白的是,網上說在安裝mysql的過程會彈出輸入密碼的窗口,然而筆者在安裝的過程中沒有彈出任何窗口,也沒有報錯。

    正當筆者在登入mysql時,問題就出現了,如圖:

解決ubuntu16.04安裝mysql5.7.17登入時出現ERROR 1045 (28000)的問題(圖)

如圖,筆者嘗試多種輸入方式,但都得到了一個同樣令人憂傷的結果,ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

為了明白這個問題,筆者又在網上廣泛搜索,從

MySQL ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)的真正原因

這條連結找到了問題產生的原因,然而筆者學識尚淺,看得不是很懂,但筆者還是要解決問題的呀,於是就換個話題搜索,既然筆者不知道密碼,那麼我就以“忘記root密碼「為搜尋對象,於是找到了

 ubuntu 16.04 下重置MySQL 5.7 的密碼(忘記密碼)

然而,到了這裡,筆者還是不能解決問題,因為

解決ubuntu16.04安裝mysql5.7.17登入時出現ERROR 1045 (28000)的問題(圖)

筆者的設定檔/etc/mysql/my.cnf#下沒有[mysqld]這段啊哭

後來,筆者又在網路上折騰了許久,終於在/etc/mysql/mysql.conf.d/mysqld.cnf 這個檔案裡找到了[mysqld]這一段,感動啊

解決ubuntu16.04安裝mysql5.7.17登入時出現ERROR 1045 (28000)的問題(圖)

至此筆者認為,mysql5.7.17將原先意義的my.cnf改為mysqld.cnf,並放在/etc/mysql/mysql.conf.d/路徑下。

到此,筆者遇到問題總算解決了,真是開心呀!

下面筆者介紹自己的mysql安裝過程和問題的具體解決過程。

二、mysql安裝過程

在ubuntu終端機下依序輸入指令:

 $ sudo apt update
 $ sudo apt-get install mysql-server mysql-client
登入後複製

三、問題解決過程

1.開啟/etc/mysql/mysql.conf.d/mysqld.cnf 檔案,指令如下

 $ sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
登入後複製
解決ubuntu16.04安裝mysql5.7.17登入時出現ERROR 1045 (28000)的問題(圖)2.找到[mysqld ]段,並加入一行「skip-grant-tables」,如下圖,

#3.重啟mysql服務,用空密碼進入mysql管理指令行,切換到mysql函式庫,操作指令如下,

 $ mysql
 Welcome to the MySQL monitor. Commands end with ; or \g. 
 mysql> use mysql
 Reading table information for completion of table and column names
 You can turn off this feature to get a quicker startup with -A
 Database changed
 mysql> update mysql.user set authentication_string=password('newpass') where user='root' and Host ='localhost';
 Query OK, 1 row affected, 1 warning (0.00 sec)
 Rows matched: 1 Changed: 1 Warnings: 1
 mysql> update user set plugin="mysql_native_password"; 
 Query OK, 0 rows affected (0.00 sec)
 Rows matched: 3 Changed: 0 Warnings: 0
 mysql> flush privileges;
 Query OK, 0 rows affected (0.01 sec)
 mysql> quit;
 Bye
登入後複製

4.回到sudo vi  /etc/mysql/mysql.conf.d/mysqld.cnf,把剛才加入的那一行「skip-grant-tables」註解或刪除掉。

5.再次重啟mysql服務sudo service mysql restart,使用新的密碼登陸,修改成功。

 $ mysql -u root -p new_pass 
 Welcome to the MySQL monitor. Commands end with ; or \g. 
 mysql>
登入後複製
相關文章

關於ubuntu 16 無法安裝php5.6的問題

Ubuntu下開啟php偵錯模式,顯示報錯訊息

###Ubuntu下安裝PHP的mongodb擴充操作指令#######

以上是解決ubuntu16.04安裝mysql5.7.17登入時出現ERROR 1045 (28000)的問題(圖)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!