1.重置密碼的第一步就是跳過MySQL的密碼認證過程。
[client]
# 設置mysql客戶端默認字符集
default-character-set=utf8
[mysqld]
#skip-grant-tables 重置密碼,這里是跳過登錄的設置。之后操作,修改完my.ini文件需要重啟mysql服務。
# 設置3306端口
port = 3306
# 設置mysql的安裝目錄
basedir=D:\mysql-5.7.32-winx64
# 設置 mysql數據庫的數據的存放目錄,MySQL 8+ 不需要以下配置,系統自己生成即可,否則有可能報錯
# datadir=C:\\web\\sqldata
# 允許最大連接數
max_connections=20
# 服務端使用的字符集默認為8比特編碼的latin1字符集
character-set-server=utf8
# 創建新表時將使用的默認存儲引擎
default-storage-engine=INNODB
2.接下來就是用sql來修改root的密碼
mysql> use mysql;
mysql> update user set password=password("你的新密碼") where user="root";
mysql> flush privileges;
mysql> quit
到這里root賬戶就已經重置成新的密碼了。
3.編輯my.cnf,去掉剛才添加的內容,然后重啟MySQL。
4、新安裝的MySQL5.7,登錄時提示密碼錯誤,安裝的時候並沒有更改密碼,后來通過免密碼登錄的方式更改密碼,輸入update mysql.user set password=password('root') where user='root'時提示ERROR 1054 (42S22): Unknown column 'password' in 'field list',原來是mysql數據庫下已經沒有password這個字段了,password字段改成了
authentication_string
所以更改語句替換為updateMySQL.user set authentication_string=password('root') where user='root' ;即可
