本文章基于网络上的重置密码方法,仍无法登录root用户,提出的另一种解决办法,也可能意味着在重置密码的过程中出现了问题,或者其他设置导致了无法访问的情况。在这种情况下,是使用其他拥有管理员权限的用户来登录,然后检查并修复 root 用户的访问权限。
mariadb的安装方法
yum install mariadb-server -y #安装MariaDB
systemctl start mariadb #启动MariaDB
systemctl status mariadb #查看状态
第一次登录或者还没有为自己创建用户,可以使用 root 用户登录:
mysql -u root -p #登录并输入root用户设置的密码
如果出现下图命令的错误,可以根据网络上的一些重置方法进行重置密码的操作,作者这里是出现了拒绝访问的错误,可能是由于密码错误或者权限问题引起的,作者这里选择创建其他拥有管理员权限的用户进行登录并试图检查root用户的访问权限
[root@localhost named]# mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
首先以跳过授权表的方式启动MariaDB服务
mysqld_safe --skip-grant-tables &
以 root 用户身份登录到 MariaDB
mysql -u root
登录以后尝试使用下面的命令创建一个新用户,admin替换为想创建的用户名,password为密码
#请以分号;结尾,一句一句实施
CREATE USER 'admin'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
尝试授予 '新用户' 足够的权限来执行对 'user' 表的查询操作
GRANT SELECT ON mysql.user TO 'admin'@'localhost';
FLUSH PRIVILEGES;
退出当前 Mariadb 会话,然后使用新创建的管理员用户登录到 MariaDB,退出quit;
mysql -u admin -p #这里admin为创建的用户名
一旦登录成功,请尝试检查并修复 root 用户的访问权限:
SELECT user, host FROM mysql.user;
在MariaDB中,使用SET PASSWORD
命令来修改密码
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('新密码');
退出DB,停止之前跳过授权表的服务
pkill -f mysqld_safe
使用新密码成功登录到 MariaDB
mysql -u root -p
进入以后不确定有哪些数据库可用,你可以使用以下命令来列出当前所有的数据库
SHOW DATABASES;
解决方法到此为止,如果还有问题的小伙伴可以留言至评论区