MariaDB RHEL 新安装 Root 登录问题

MariaDB RHEL 新安装 Root 登录问题

我刚刚在 RHEL 系统上安装了 MariaDB,这是我第一次使用 MariaDB。我只能使用以下命令启动/停止服务:

sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service 

sudo systemctl stop mariadb.service

现在,当我尝试使用以下内容时:

mysql --user=root

我收到以下错误:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

由于是全新安装,我希望密码为空,并且我已卸载并重新安装,希望这样可以解决问题,但显然没有。

我读过关于使用 --skip-grant-tables 重置 root 密码的信息,但由于必须使用 systemctl,我无法使用此选项启动服务。我不确定我是否将选项放在了命令中的错误位置,但我尝试了许多方法,但都无济于事。

没有其他命令(来自 /etc/init.d)可以运行该服务。

如果有人能帮助我让 --skip-grant-tables 正常工作,或者弄清楚如何以某种方式重置 mariadb 的 root 密码,或者以某种方式设置具有所有权限的另一个用户,我将不胜感激。谢谢。

答案1

尝试运行mysql_secure_installation - improve MySQL installation security,正如迈克尔提到的,这听起来就像您已经拥有了mysql除全新安装之外的其他数据库。

您也可以尝试停止mariadb.service删除 mysql 数据库,然后尝试再试一次mysql_install_db - initialize MySQL data directory

答案2

尝试以 root 身份运行客户端。默认值可能是 root 的 unix socket auth,它会检查进程的 UID 是否是用户所需的 UID(在本例中为 0)并据此允许/拒绝。

答案3

您是否尝试过: mysql --user=root -p 然后当要求输入密码时,只需按回车键?

抱歉,这很明显,而且您认为值得一提,以防万一。

答案4

如果您没有系统 root 访问权限或系统 root 被禁用,请确保以 sudo 身份运行 mysql_secure_installation。我之前遇到过同样的问题,我禁用了系统范围内的 root 登录,并尝试在不使用 sudo 的情况下运行 mysql_secure_installation。

相关内容