直接上 : 命令直接复制使用
1. 打开dos 命令 “ 记得是 管理员权限下”
2.关闭 msql 的服务
net stop mysql
3 ,切换到安装mysql 的bin 目录下 可能使用的命。
d: f: (切换盘符命令) dir(查看当前目录的命令) cd(切换输入的路径下)
4 切换到mysql 的bin下之后 ,使用 命令:
mysqld --defaults-file="D:\Program Files (x86)\MySQL\MySQL Server 5.1\my.ini" --console --skip-grant-tables
root mydatabases (这个路径就是my.ini 的路径,一般在当前的安装下搜一下 ,直接把 双引号内容替换自己的my.ini 绝对路径 。这个命令为了绕过权限
5. 成功之后 不要关窗口 打开另一个dos 窗口 也是管理员权限的;
mysql -uroot -p (直接回车 不要密码可以登录成功
show databases; (查看当前的数据库)
use mysql (使用 mysql 数据库
UPDATE user SET Password=PASSWORD('newpassword') where USER='root'; (修改密码 记得只需替换 newpassword 就可以
(这里在5.7之后已经没有password 这个字段了用 authentication_string 替换了)
FLUSH PRIVILEGES; (刷新 一下权限
也可以查看一下 不过密码应该是加密的,如果是能看到的明文就是前面的 Password=PASSWORD('newpassword') 的 PASSWORD没有在sql 语句里
查看 (select * from user where user='root')
所有的 修改完 quit (退出)
关闭 另外一个 窗口。
开启服务 , net start mysql
然后 mysql -uroot -p
...密码
可以了
备注:
mysqld 这个命令执行失败在my.ini文件添加
[mysqld]explicit_defaults_for_timestamp = true其实个人觉得这个加不加都没啥。
这个命令执行成功的时候dos 窗口会停止在这个命令的执行上,如果直接执行了 应该是这个mysqld 的进程没有关闭。