我在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
然后終端會提示你輸入密碼
Enter password:
這是輸入文件中的密碼即可成功登陸。
當然了,這之后就要修改密碼了,畢竟密碼太難記。
經過度娘的指導,我所安裝的版本是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,方可登錄成功。
轉載:http://blog.csdn.net/fr555wlj/article/details/54971412