引言
之前剛裝mysql的時候,根據教程安裝,然后初始化后沒有記住密碼,重啟服務器后無法登錄,於是今天就做個總結,順便了解一下如何解決mysql忘記密碼這個問題
方法
1、修改mysql的登錄設置
在[mysqld]的段中加上一句:skip-grant-tables
例如:vim /etc/my.cnf
注:這里有一個坑,就是vim和vi的使用,我的就不能用vi。
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-grant-tables
保存並且退出vim。
2、重啟mysql
重新啟動mysql,例如我的mysql安裝在下面的路徑,這里可以參考我之前裝mysql的隨筆:https://www.cnblogs.com/cheneyboon/p/14679153.html
# /etc/init.d/mysql restart
3、登錄並修改mysql的密碼
我這里直接使用的是mysql安裝路徑,同樣可以看我之前的隨筆找自己的對應位置
# /usr/local/mysql/bin/mysql
然后依次輸入以下指令
mysql> USE mysql ;
mysql> update user set authentication_string=password("您要修改的密碼") where user="root"; # 這里的密碼可以自己選擇
mysql> flush privileges ;
mysql> quit
注:這里有一個坑就是不能輸入下面命令進行修改密碼,原因:MySQL5.7版本后,password這個字段被改成 authentication_string
mysql> UPDATE user SET Password = password ( 'new-password' ) WHERE User = 'root' ;
4、將MySQL的登錄設置修改回來
# vim /etc/my.cnf
將剛才在[mysqld]的段中加上的skip-grant-tables刪除
保存並且退出vim。
5、重新啟動mysqld
# /etc/init.d/mysql restart
Stopping MySQL: [ OK ]
Starting MySQL: [ OK ]