1. 程式人生 > >ubuntu安裝mysql 時未提示輸入密碼

ubuntu安裝mysql 時未提示輸入密碼

我在Ubuntu16.04版本中使用終端安裝MySQL5.7時,按照度孃的教程,搜尋如何安裝,大多是如下程式碼:

sudo apt-get install mysql-server
sudo apt-get install mysql-client

檢查MySQL是否執行:

sudo netstat -tap | grep mysql

如果成功安裝,我的會顯示如下內容:

tcp        0      0 localhost:mysql         *:*                     LISTEN      18475/mysqld 

PS:重啟/開啟/關閉MySQL的方法是:sudo service mysql restart/start/stop

就這兩個命令就安裝好了,可是我在安裝過程中並沒有出現要我寫使用者名稱和密碼的地方,我一臉懵逼,
完成後在終端輸入mysql -u root -p之後,要求我輸入密碼,可是我並不知道密碼,隨便輸入之後,

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

百度了三五個小時,解決方案五花八門,我最後使用有效的方法是:
開啟一個檔案

 sudo vim /etc/mysql/debian.cnf

在這個檔案裡面有著MySQL預設的使用者名稱和使用者密碼,
最最重要的是:使用者名稱預設的不是root,而是debian-sys-maint,如下所示

# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host     = localhost
user     = debian-sys-maint
password = hGu99nJgoWcmCDKT
socket   = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host     = localhost
user     = debian-sys-maint
password = hGu99nJgoWcmCDKT
socket   = /var/run/mysqld/mysqld.sock
basedir
= /usr

密碼會隨即給一個很複雜的,這個時候,要進入MySQL的話,就是需要在終端把root更改為debian-sys-maint,如下程式碼

mysql -u debian-sys-maint -p
1
然後終端會提示你輸入密碼

Enter password:
1
這是輸入檔案中的密碼即可成功登陸。
當然了,這之後就要修改密碼了,畢竟密碼太難記。

經過度孃的指導,我所安裝的版本是5.7,所以password欄位已經被刪除,取而代之的是authentication_string欄位,所以要更改密碼:

mysql> update mysql.user set authentication_string=password('password') where user='root'and Host = 'localhost';

如果顯示:

Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 1

則代表成功修改,之後需要*重啟**MySQL,方可登入成功。
順便說一下刪除MySQL的方法,省的之後再找度娘。
程式碼如下:

sudo apt-get autoremove --purge mysql-server-5.7
sudo apt-get remove mysql-server
sudo apt-get autoremove mysql-server
sudo apt-get remove mysql-common

上面的可能會有些是多餘的,之後需要清理殘餘資料

dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P

轉載於:https://blog.csdn.net/sinat_21302587/article/details/76870457