linux下修改root用户密码步骤
问题现象:linux环境下,使用命令 mysql -uroot -p 登录mysql(mariadb)数据库时若因为忘记密码而导致密码输入错误时 会出现类似提示:那么问题来了:Linux环境下忘记mysql(mariadb)数据库的root密码怎么办?...
问题现象:linux环境下,使用命令 mysql -uroot -p 登录mysql(mariadb)数据库时若因为忘记密码而导致密码输入错误时 会出现类似提示:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
那么问题来了:Linux环境下忘记mysql(mariadb)数据库的root密码怎么办?
linux环境下 忘记mysql(mariadb) root用户密码,可以采用如下步骤去修改用户密码:
1、将msyql(mariadb)的服务停止
systemctl status mariadb #mariadb服务状态查询
systemctl status mysql #mysql服务状态查询
systemctl stop mariadb #停止mariadb服务
systemctl stop mysql #停止mysql服务
2、修改配置文件/etc/my.cnf 设置跳过验证
在【mysqld】节点下 添加配置:skip-grant-tables:
确认配置,保存my.cnf文件。
3、重启mysql 服务
如启动mariadb :systemctl start mariadb
4、用命令 mysql -uroot 回车 登录 数据库:
可以看到 这个时候 是不需要输入root用户的密码的。
5、跳转数据库,使用mysql数据库:
use mysql;
6、修改root用户密码
update mysql.user set authentication_string=password('root_password') where user='root';
或者是用
update user set password=password('password') where user='root';
以上两句sql的作用是一致的,此时如果去查询user表的密码字段,是可以成功的,但是如果此时直接退出,并将配置文件/etc/my.cnf文件里的skip-grant-tables去掉,然后使用msyql -uroot -p输入密码 将无法登录。
7、最重要的一步:执行 flush privileges;命令
只有执行了这句 flush privileges之后才能成功。
8、停止服务
systemctl stop mariadb
9、去掉my.cnf里的skip-grant-tables
10.重启 服务
systemctl start mariadb
此时再次使用mysql -uroot -p去登录就可以发现 输入改过的密码就可以登录进去了。
更多推荐
所有评论(0)