【问题标题】:How to reset password for root in MariaDB 10.5.5-MariaDB on CentOS 8?如何在 CentOS 8 上的 MariaDB 10.5.5-MariaDB 中重置 root 密码?
【发布时间】:2020-12-31 11:07:32
【问题描述】:

我尝试了Resetting root password for mariadb does not work中的建议

ERROR 1698 (28000): Access denied for user 'root'@'localhost'只讲Ubuntu,不讲centos 8

能够使用mysql -u root 登录,但mysql 表中没有用户root!!

因此,set password 语句与 0 affected rows. 一起执行

服务器重启后还是不行。

【问题讨论】:

  • 能够以普通用户的身份使用密码登录
  • 试试这个但还要阅读答案superuser.com/questions/949496/…
  • 如果您使用的是 arch,但 google 仍然引导您,请尝试使用 this

标签: mysql mariadb centos8


【解决方案1】:

从 ssh 登录到 centos 服务器。然后停止 mysqld 服务并使用 --skip-grant-tables 选项运行 mysqld_safe 以处于不安全模式并重置密码。然后使用不带任何 -u 或 -p 参数的 mysql 命令登录到 mysql 服务器,因为您处于不安全模式。然后更新 root 密码刷新权限,然后从 msyql 控制台退出。然后使用 mysqladmin 停止 mysql 服务器,该服务器将要求输入密码并提供最近保存的新密码。然后最后启动mysqld服务。

$ systemctl stop mysqld
$ mysqld_safe --skip-grant-tables &
$ mysql
mysql> UPDATE mysql.user SET Password=PASSWORD('new-password') WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> exit;
$ mysqladmin -u root -p shutdown
$ systemctl start mysqld

编辑:---------------------------------------

$ sudo systemctl stop mariadb
$ sudo mysqld_safe --skip-grant-tables --skip-networking &
$ mysql -u root
MariaDB [(none)]> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
MariaDB [(none)]>  FLUSH PRIVILEGES;
MariaDB [(none)]> exit;
$ sudo kill `/var/run/mariadb/mariadb.pid`
$ sudo systemctl start mariadb

【讨论】:

  • 第 7 步失败 [root@gaze ~]# mysqladmin -u root -p shutdown 输入密码:mysqladmin:连接到 'localhost' 的服务器失败错误:'Access denied for user 'root'@ 'localhost'(使用密码:YES)' [root@gaze ~]#
  • 跳过该步骤并再次启动 mysqld 服务,即运行最后一个命令 systemctl start mysqld
  • [root@gaze ~]# systemctl start mysqld 用于 mariadb.service 的作业失败,因为控制进程以错误代码退出。有关详细信息,请参阅“systemctl status mariadb.service”和“journalctl -xe”。 [root@gaze ~]#
  • 即使启动 mysqld 时出错,我仍然能够以标准用户身份登录! [root@gaze ~]# mysql -u server -p 输入密码:欢迎使用 MariaDB 监视器。命令以 ; 结尾或\g。您的 MariaDB 连接 ID 是 112 服务器版本:10.5.5-MariaDB MariaDB 服务器 版权所有 (c) 2000, 2018, Oracle, MariaDB Corporation Ab 等。输入“帮助”;或 '\h' 寻求帮助。键入 '\c' 以清除当前输入语句。 MariaDB [(无)]>
  • 尝试使用 systemctl stop mariadb 或 service mysqld stop 然后重新启动
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-16
  • 2018-06-18
  • 2021-04-19
  • 1970-01-01
  • 2016-10-10
  • 2021-12-20
相关资源
最近更新 更多