主頁 > 知識(shí)庫 > windows下重置mysql的root密碼方法介紹

windows下重置mysql的root密碼方法介紹

熱門標(biāo)簽:呼叫中心市場(chǎng)需求 Linux服務(wù)器 服務(wù)外包 地方門戶網(wǎng)站 網(wǎng)站排名優(yōu)化 AI電銷 鐵路電話系統(tǒng) 百度競(jìng)價(jià)排名

今天發(fā)現(xiàn) WordPress 連接不上數(shù)據(jù)庫,登錄 window server 服務(wù)器查看,所有服務(wù)均運(yùn)行正常。

使用 root 賬號(hào)登錄 mysql 數(shù)據(jù)庫,結(jié)果提示密碼不匹配。我突然意識(shí)到,服務(wù)器可能遭受到 SQL注入 攻擊了……

至于事故發(fā)生的原因和之后所做的補(bǔ)救措施,以后有機(jī)會(huì)我會(huì)聊一聊的。這里我主要講一下 mysql 用戶密碼的重置步驟。

重置 root 密碼
在忘記 root 密碼的情況下,可以進(jìn)入 mysql 的安全模式,重置 root 密碼。

1. 停止 MySQL 服務(wù)

打開命令提示符窗口,輸入 net stop mysql 關(guān)閉 MySQL 服務(wù)。

C:\Users\Administrator>net stop mysql57
MySQL57 服務(wù)正在停止..
MySQL57 服務(wù)已成功停止。

↑ 服務(wù)名稱不一定都是 mysql,比如我的就是 mysql57,57代表版本號(hào)為5.7

當(dāng)然你也可以通過計(jì)算機(jī)管理面板關(guān)閉 MySQL 服務(wù)。

2. 切換到 bin 目錄

在命令提示符窗口中,通過 cd 命令切換到 mysql 安裝目錄下的 bin 目錄。

C:\Users\Administrator>
cd C:\Program Files\MySQL\MySQL Server 5.7\bin
C:\Program Files\MySQL\MySQL Server 5.7\bin>

↑ 默認(rèn)安裝目錄為 C:\Program Files\MySQL\MySQL Server

3. 進(jìn)入安全模式

在 bin 目錄下輸入 mysqld --skip-grant-tables ,跳過權(quán)限檢查啟動(dòng) mysql。

如果你配置了 my.ini 文件,則需要將其引入: mysqld --defaults-file="../my.ini" --skip-grant-tables

[mysqld]

basedir = "C:\ProgramData\MySQL\MySQL Server 5.7"
datadir = "C:\ProgramData\MySQL\MySQL Server 5.7\Data"

↑ 我在 my.ini 文件中指定了數(shù)據(jù)的存放路徑,如果不引入配置文件,則會(huì)提示 No such file or directory 錯(cuò)誤。

4. 重置賬戶密碼

打開另一個(gè)命令提示符窗口(別關(guān)閉安全模式窗口),同樣切換到 mysql \ bin 目錄,輸入 mysql 跳過權(quán)限驗(yàn)證連接數(shù)據(jù)庫。

C:\Program Files\MySQL\MySQL Server 5.7\bin>mysql
Server version: 5.7.16 MySQL Community Server (GPL)
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>

↑ 也可以指定連接參數(shù) mysql -u 用戶名> -p 密碼> -h 連接地址> -P 端口號(hào)> -D 數(shù)據(jù)庫>

執(zhí)行 update mysql.user set authentication_string="" where user="root"; 重置 root 用戶的密碼(5.7 之前為 password 字段)。

mysql> update mysql.user set authentication_string="" where user="root";
Query OK, 1 row affected (0.00 sec)

mysql> select user,authentication_string from mysql.user\G
*************************** 1. row ***************************
         user: root
authentication_string:
*************************** 2. row ***************************
         user: mysql.sys
authentication_string: *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE

2 rows in set (0.00 sec)

↑ root 用戶的 authentication_string 字段已經(jīng)被清空了

5. 刷新權(quán)限表

執(zhí)行 flush privileges; 命令刷新權(quán)限表,密碼已經(jīng)重置完成,輸入 quit 退出。

mysql> flush privileges;
Query OK, 0 rows affected (0.02 sec)
mysql> quit
Bye

關(guān)閉所有命令提示符窗口,通過任務(wù)管理器結(jié)束 mysqld.exe 進(jìn)程。重啟 MySQL 服務(wù),之后就可以直接登錄 root 賬號(hào)了。

修改 root 密碼

出于安全考慮,root 密碼不宜為空,所以需要在密碼重置之后,再重新設(shè)置一個(gè)密碼。

方法一:SET PASSWORD

SET PASSWORD FOR "username"=PASSWORD("new password");

以 root 身份登錄 mysql,再使用 set password 命令修改密碼:

mysql> set password for root@localhost = password("pswd");
Query OK, 0 rows affected, 1 warning (0.00 sec)

方法二:mysqladmin

mysqladmin -u "username" -p password "new password"

執(zhí)行該命名之后會(huì)提示輸入原密碼,輸入正確后即可修改。

C:\Program Files\MySQL\MySQL Server 5.7\bin> mysqladmin -u root -p password pswd
Enter password: ****

mysqladmin: [Warning] Using a password on the command line interface can be insecure.
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.

方法三:UPDATE TABLE

UPDATE mysql.user SET authentication_string=PASSWORD("new password") WHERE user="username";

在重置 root 密碼的同時(shí),也可以設(shè)置默認(rèn)密碼。不過密碼不能為明文,必須使用 password() 函數(shù)加密。

mysql> update mysql.user set authentication_string=password("pswd") where user="root";
Query OK, 1 row affected, 1 warning (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

總結(jié)

以上就是本文關(guān)于windows下重置mysql的root密碼方法介紹的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:

MySQL數(shù)據(jù)庫設(shè)計(jì)之利用Python操作Schema方法詳解

mysql中使用instr進(jìn)行模糊查詢方法介紹

MySQL中or語句用法示例

如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!

您可能感興趣的文章:
  • MySQL8.0.23版本的root密碼重置最優(yōu)解法
  • Linux mysql-5.6如何實(shí)現(xiàn)重置root密碼
  • 重置mysql的root密碼最簡(jiǎn)單的方法
  • 解決重置Mysql root用戶賬號(hào)密碼問題
  • mysql8重置root用戶密碼的完整步驟
  • mysql8.0.12如何重置root密碼
  • MySQL/MariaDB的Root密碼重置教程
  • Mac MySQL重置Root密碼的教程
  • lnmp重置mysql數(shù)據(jù)庫root密碼的兩種方法
  • 詳解如何在Linux中重置MySQL或者M(jìn)ariaDB的root密碼
  • CentOS下重置MySQL的root密碼的教程
  • MySQL root密碼的重置方法

標(biāo)簽:仙桃 蘭州 衡水 黃山 湖南 銅川 湘潭 崇左

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《windows下重置mysql的root密碼方法介紹》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266