這篇文章主要介紹了解決ubuntu 16.04安裝mysql5.7.17後,登入時出現ERROR 1045 (28000): Access denied for user 'root'@'localhost' 問題,需要的朋友可以參考下
一、問題說明
今天,筆者為了練習sql,在ubuntu16.04上安裝了MySQL。作者在網路上搜尋了在ubuntu16.04安裝mysql的步驟,並跟著步驟一步步操作,然而,讓筆者無法明白的是,網上說在安裝mysql的過程會彈出輸入密碼的窗口,然而筆者在安裝的過程中沒有彈出任何窗口,也沒有報錯。
正當筆者在登入mysql時,問題就出現了,如圖:
如圖,筆者嘗試多種輸入方式,但都得到了一個同樣令人憂傷的結果,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 的密碼(忘記密碼)
然而,到了這裡,筆者還是不能解決問題,因為
筆者的設定檔/etc/mysql/my.cnf
#下沒有[mysqld]這段啊哭
後來,筆者又在網路上折騰了許久,終於在/etc/mysql/mysql.conf.d/mysqld.cnf
這個檔案裡找到了[mysqld]這一段,感動啊
至此筆者認為,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
$ sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
$ 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
$ mysql -u root -p new_pass Welcome to the MySQL monitor. Commands end with ; or \g. mysql>
以上是解決ubuntu16.04安裝mysql5.7.17登入時出現ERROR 1045 (28000)的問題(圖)的詳細內容。更多資訊請關注PHP中文網其他相關文章!