时间:2021-07-01 10:21:17 帮助过:17人阅读
- C:\Users\Administrator><span style="color: #000000">net stop mysql57
- MySQL57 服务正在停止..
- MySQL57 服务已成功停止。</span>
↑ 服务名称不一定都是 mysql,比如我的就是 mysql57,57代表版本号为5.7
当然你也可以通过计算机管理面板关闭 MySQL 服务。
在命令提示符窗口中,通过 cd 命令切换到 mysql 安装目录下的 bin 目录。
- C:\Users\Administrator><br><br>cd C:\Program Files\MySQL\MySQL Server <span style="color: #800080">5.7</span><span style="color: #000000">\bin
- C:\Program Files\MySQL\MySQL Server </span><span style="color: #800080">5.7</span>\bin>
↑ 默认安装目录为 C:\Program Files\MySQL\MySQL Server
在 bin 目录下输入 mysqld --skip-grant-tables ,跳过权限检查启动 mysql。
如果你配置了 my.ini 文件,则需要将其引入: mysqld --defaults-file="../my.ini" --skip-grant-tables
- <span style="color: #000000">[mysqld]
- basedir </span>= <span style="color: #800000">"</span><span style="color: #800000">C:\ProgramData\MySQL\MySQL Server 5.7</span><span style="color: #800000">"</span><span style="color: #000000">
- datadir </span>= <span style="color: #800000">"</span><span style="color: #800000">C:\ProgramData\MySQL\MySQL Server 5.7\Data</span><span style="color: #800000">"</span>
↑ 我在 my.ini 文件中指定了数据的存放路径,如果不引入配置文件,则会提示 No such file or directory 错误。
打开另一个命令提示符窗口(别关闭安全模式窗口),同样切换到 mysql \ bin 目录,输入 mysql 跳过权限验证连接数据库。
- C:\Program Files\MySQL\MySQL Server <span style="color: #800080">5.7</span>\bin><span style="color: #000000">mysql
- Welcome to the MySQL monitor. Commands end with ; or \g.
- Your MySQL connection </span><span style="color: #0000ff">id</span> is <span style="color: #800080">7</span><span style="color: #000000">
- Server version: </span><span style="color: #800080">5.7</span>.<span style="color: #800080">16</span><span style="color: #000000"> MySQL Community Server (GPL)
- Copyright (c) </span><span style="color: #800080">2000</span>, <span style="color: #800080">2016</span>, Oracle and/<span style="color: #000000">or its affiliates. All rights reserved.
- </span><span style="color: #000000">
- Type </span><span style="color: #800000">‘</span><span style="color: #800000">help;</span><span style="color: #800000">‘</span> or <span style="color: #800000">‘</span><span style="color: #800000">\h</span><span style="color: #800000">‘</span> <span style="color: #0000ff">for</span> help. Type <span style="color: #800000">‘</span><span style="color: #800000">\c</span><span style="color: #800000">‘</span> to <span style="color: #0000ff">clear</span><span style="color: #000000"> the current input statement.
- mysql</span>>
↑ 也可以指定连接参数 mysql -u <用户名> -p <密码> -h <连接地址> -P <端口号> -D <数据库>
执行 update mysql.user set authentication_string="" where user="root"; 重置 root 用户的密码(5.7 之前为 password 字段)。
- mysql> update mysql.user set authentication_string=<span style="color: #800000">""</span> where user=<span style="color: #800000">"</span><span style="color: #800000">root</span><span style="color: #800000">"</span><span style="color: #000000">;
- Query OK, </span><span style="color: #800080">1</span> row affected (<span style="color: #800080">0.00</span><span style="color: #000000"> sec)
- mysql</span>> <span style="color: #0000ff">select</span><span style="color: #000000"> user,authentication_string from mysql.user\G
- </span>*************************** <span style="color: #800080">1</span>. row ***************************<span style="color: #000000">
- user: root
- authentication_string:
- </span>*************************** <span style="color: #800080">2</span>. row ***************************<span style="color: #000000">
- user: mysql.sys
- authentication_string: </span>*<span style="color: #000000">THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE
- </span><span style="color: #800080">2</span> rows <span style="color: #0000ff">in</span> set (<span style="color: #800080">0.00</span> sec)
↑ root 用户的 authentication_string 字段已经被清空了
执行 flush privileges; 命令刷新权限表,密码已经重置完成,输入 quit 退出。
- mysql><span style="color: #000000"> flush privileges;
- Query OK, </span><span style="color: #800080">0</span> rows affected (<span style="color: #800080">0.02</span><span style="color: #000000"> sec)
- mysql</span>><span style="color: #000000"> quit
- Bye</span>
关闭所有命令提示符窗口,通过任务管理器结束 mysqld.exe 进程。重启 MySQL 服务,之后就可以直接登录 root 账号了。
出于安全考虑,root 密码不宜为空,所以需要在密码重置之后,再重新设置一个密码。
以 root 身份登录 mysql,再使用 set password 命令修改密码:
- mysql> set password <span style="color: #0000ff">for</span> root@localhost = password(<span style="color: #800000">"</span><span style="color: #800000">pswd</span><span style="color: #800000">"</span><span style="color: #000000">);
- Query OK, </span><span style="color: #800080">0</span> rows affected, <span style="color: #800080">1</span> warning (<span style="color: #800080">0.00</span> sec)
执行该命名之后会提示输入原密码,输入正确后即可修改。
- C:\Program Files\MySQL\MySQL Server <span style="color: #800080">5.7</span>\bin> <span style="color: #000000">mysqladmin </span>-u root -p password <span style="color: #800080">pswd</span><span style="color: #000000">
- Enter password: </span>****<span style="color: #000000">
- mysqladmin: [Warning] Using a password on the command line interface can be insecure.
- Warning: Since password will be sent to server </span><span style="color: #0000ff">in</span><span style="color: #000000"> plain text, use ssl connection to ensure password safety.</span>
在重置 root 密码的同时,也可以设置默认密码(5.7 中为 authentication_string 字段)。
- mysql> update mysql.user set authentication_string=password(<span style="color: #800000">"</span><span style="color: #800000">pswd</span><span style="color: #800000">"</span>) where user=<span style="color: #800000">"</span><span style="color: #800000">root</span><span style="color: #800000">"</span><span style="color: #000000">;
- Query OK, </span><span style="color: #800080">1</span> row affected, <span style="color: #800080">1</span> warning (<span style="color: #800080">0.00</span><span style="color: #000000"> sec)
- mysql</span>><span style="color: #000000"> flush privileges;
- Query OK, </span><span style="color: #800080">0</span> rows affected (<span style="color: #800080">0.01</span> sec)
windows 下重置 mysql 的 root 密码
标签:mysq 注入 版本号 for 进程 and ota ima rect