数据库登录密码忘记的解决方法——以linux为例
思维逻辑
方法一:mariadb为例
步骤一:停止原服务
systemctl stop mariadb
步骤二:跳过授权启动数据库
mysqld_safe --skip-grant-tables &
步骤三:重设密码
1)免密码登入数据库
mysql -uroot
2)设置新密码
MariaDB [(none)]> UPDATE mysql.user SET Password=password('pwd@123') WHERE User='root' AND Host='localhost';
步骤四:退出后关闭跳过授权启动,正常启动mariadb服务
1)退出
quit;
1)关闭跳过授权启动
pkill -9 mysqld
2)正常启动服务
systemctl restart mariadb
步骤五:验证新密码
方法二:改文件
这个方法与方法一唯一的区别在于跳过权限验证的方式
区别一:
步骤二:跳过授权启动数据库进程
vim /etc/my.cnf
在[mysqld]的部分中加上一句
skip-grant-tables
例如:
然后保存退出
区别二:
步骤四:退出后关闭跳过授权启动,正常启动服务
关闭跳过授权启动
退出后将/etc/my.cnf的设置修改回来
将刚才加上的skip-grant-tables删除
skip-grant-tables
以上就是本文的全部内容