修改和設置密碼:(前提是原來沒有密碼或者原來的密碼你知道)
mysqladmin 用於設置mysql的密碼
mysqladmin -uroot -p舊密碼 password 新密碼
注意:舊密碼的位置,如果之前沒有密碼,可以不寫,但是如果有必須寫上
uroot 默認初試沒有密碼
例如:
mysqladmin -uroot -p password 123456
彈出的worning 警告不需要管,
好了,現在我們就已經將我們的密碼修改好了,修改成了123456
現在驗證登錄一下:
重新開啟CMD
然后輸入:
mysql -uroot -p
Enter password :123456
然后我們就登錄成功了.
所以我們之前修改設置密碼的操作成功了
破解密碼(不知道原來的密碼是什么):
1,刪除存貯密碼的文件(一般不推薦這么做)
2,重裝mysql (一般不可取,因為會丟失原來的數據)
3,可以在啟動服務器時,告訴他,讓他不要讀取密碼文件
1,首先必須終止服務端進程,有以下兩種方法
1,以管理員身份運行CMD
然后輸入:tasklist | findstr mysqld
然后會得到mysqld 這個進程的PID號碼
然后輸入:taskkill /f /pid PID號碼
然后就可以結束這個進程了
2.方法二:
win + R
輸入:services.msc
然后再服務中找到mysql ,右鍵停止該進程
這就可以了
2.以跳過密碼驗證的模式重新啟動服務端:
在CMD中輸入:mysqld --skip-grant-tables
當彈出這樣的信息表示啟動成功:
2019-06-20 23:23:03 0 [Note] mysqld (mysqld 5.6.44) starting as process 13488 ...
3.以管理員身份運行客戶端登錄:
在CMD中直接輸入:
mysql -uroot -p
由於我們服務端設置的是跳過密碼驗證登錄,所以不需要輸入密碼直接回車就可以
然后我們就可以看到我們登錄連接成功
4.登錄成功后修改密碼
update mysql.user set password=password(654321) where user ='root' and host = 'localhost';
將root用戶的密碼改成654321
立即刷新當前更新
flush privileges;
如果退出來之后發現還是登陸不進去 可能是因為還沒有刷新進去,
每次修改之后,可以加上這個語句刷新一下,其實不寫也沒有多大關系
當彈出:
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
表示修改成功,
5,驗證:
讓服務端以正常校驗用戶名和密碼的方式正常啟動
現在我們可以關閉,用新密碼登錄試試看.
win + R
輸入:services.msc
然后再服務中找到mysql ,右鍵啟動該進程
這就可以了
然后以管理員身份運行CMD
mysql -uroot -p
輸入剛才設置的新密碼
然后就登錄成功了,表示修改成功了.