之前買的阿里雲的服務器,好久沒有使用導致忘記了密碼,然後要修改數據庫時發現登錄不上去,然後找了很多博客才發現重置密碼的方法
首先我用的是Xshell和xftp遠程連接阿里雲的服務器,先在命令行輸入cd /etc,找到my.cnf文件,拉取到本地
使用Notepad++編輯,在[mysqld]下添加多一行skip-grant-tables
然後覆蓋服務上的源文件,重啓MySQL,輸入密碼時直接點解確認鍵進入MySQL,在命令行輸入
use Mysql;
update user set password = password ('新密碼') where user = 'root'
然後退出MySQL
修改本地的my.cnf文件,把剛剛添加的那一行去掉,然後在覆蓋服務器上的源文件
重啓服務器上的MySQL,試試你的賬號密碼輸入
若是報出這種錯誤
Unknown column 'password' in 'field list'
是因爲原來是mysql數據庫下已經沒有password這個字段了,password字段改成了
authentication_string
所以update語句要成 update user set authentication_string = password('新密碼')
where user = 'root'
後面的步驟跟上邊的差不多,重啓檢驗就OK了
原理:
在my.cnf下添加那一行的意思是跳過登錄時的權限表,所以,使得登錄時並不需要密碼就能登錄了