親測ubuntu18系統下解決MySQL5.7版本的root使用者密碼沒提示輸入問題不能登入問題

阿啦卜發表於2018-07-07

最近在ubuntu系統上安裝了MySQL,但是安裝時沒有提示輸入root使用者密碼,在網上找了一天解決方案,試圖修改root使用者下的登入密碼,但是網上的帖子都不湊效,最後終於改成功了,因此記下來以供有同樣需要的人蔘考。

1、安裝

1

2

3

4

5

$ sudo apt-get install mysql-server

$ sudo apt install mysql-client

$ sudo apt install libmysqlclient-dev

 以此在終端輸入上述程式碼,等待安裝。裝好後,輸入以下程式碼檢查下是否安裝成功。

1

2

3

4

5

$ sudo netstat -tap | grep mysql

$ sudo netstat -tap | grep mysql

tcp6        0       0       [::]:mysql    [::]:*    LISTEN    7510/mysqld

 如果出現第三行提示,則表明安裝成功。

2、登入MySQL

1$ mysql -u root -p

 輸入密碼,如果可以進入則下面的不用看了;如果提示不能登入,則我們嘗試啟用安全模式登入MySQL,這樣可以繞過密碼登入,登入後再修改密碼。

3、安全模式登入MySQL

1

2

3

4

5

6

7

$ sudo /etc/init.d/mysql stop

————————————-

[sudo] wl 的密碼:

[ ok ] Stopping mysql (via systemctl): mysql.service.

$ sudo /usr/bin/mysqld_safe –skip-grant-tables –skip-networking &

 輸入第一行終止MySQL執行,成功,會提示下面兩行;輸入第四行,成功,沒有任何報錯則可以另外開啟一個終端視窗進行下一步操作;但是一般會報錯,比如提示mysqld_safe Directory ‘/var/run/mysqld’ for UNIX socket file don’t exists

因此我們嘗試輸入以下程式碼

1

2

3

$ sudo mkdir -p /var/run/mysqld

$ sudo chown mysql:mysql /var/run/mysqld

 最後再次輸入:

1sudo /usr/bin/mysqld_safe –skip-grant-tables –skip-networking &

 到了這裡不在提示錯誤,可以開啟另一個終端埠了,嘗試無密碼登入MySQL。

1mysql -u root

 到這裡應該可以進入MySQL了,繼續操作

1

2

3

4

5

6

7

> use mysql;

> update user set authentication_string=PASSWORD(“這裡輸入你要改的密碼”) where User=`root`; #更改密碼

> update user set plugin=”mysql_native_password”; #如果沒這一行可能也會報一個錯誤,因此需要執行這一行

> flush privileges; #更新所有操作許可權

> quit;

 4、使用修改的密碼登入MySQL

經過上面一系列的操作,應該可以正常使用你更改的密碼登入了。

1

2

3

4

> sudo /etc/init.d/mysql stop

> sudo /etc/init.d/mysql start # reset mysql

> mysql -u root -p

 第一行先終止資料庫執行,第二行重啟資料庫服務,第三行root使用者登入。


相關文章