Mysql, MariaDB忘记密码操作
-
找到数据库的安装
bin
路径,使用管理员权限进入cmd
控制台,如果在路径栏直接进入cmd
无法停止数据库服务(由于我这里把数据库转安装在的C盘
)net stop mariadb // net stop mysql
-
--skip-grant-tables
的意思是启动 MySQL 服务的时候跳过权限表认证,这个时候需要重新打开一个cmd
窗口,再输入mysql
mysqld --skip-grant-tables mysql
这里也可以修改数据库的配置文件
my.ini
,在mysqld
下添加skip-grant-tables
,然后再在cmd
窗口输入mysql -uroot -p
-
新开一个
cmd
窗口结果如下 -
查看数据库,并使用
mysql
数据库show databeses; use mysql;
-
修改数据库密码,下面的
5
种方法可能会出现报错update user set password=password(“自己的新密码”) where user=“root”; //针对MYSQL5.7之前的版本可以使用UPDATE命令 ALTER USER 'root'@'localhost' identified by '123456'; //新版本建议使用alter和set set password for 'root'@'localhost'=password('123456'); update user set password=password("123456") where user='root' and host='localhost'; update user set authentication_string=password('123456') where user=“root”;
-
如果第5点的方法没有报错,则继续往下执行,刷新权限 退出mysql 重启mysql
flush privileges; quit 或者 exit mysqladmin -u root -p shutdown net start mysql
-
若前面的方法都不可行(可能是数据库版本太高的原因),尝试以下方法,先在cmd控制台确保数据库服务已关闭
net stop mariadb
,新建一个file.txt文档,在里面输入以下内容ALTER USER 'root'@'localhost' IDENTIFIED BY 'admin'; flush privileges;
执行以下命令,记得修改
file.txt
文件的路径,斜线改为双斜线,最后成功的更改了密码,执行mysql -u root -p
进入数据库,输入新密码admin
成功进去数据库,这里使用HeidiSQL校验成功修改密码进入数据库mysqld --init-file=C:\\Users\\24257\\Desktop\\file.txt