【问题标题】:Show mysql databases as Linux root user以 Linux root 用户身份显示 mysql 数据库
【发布时间】:2017-04-13 07:52:49
【问题描述】:

我已登录 CentOS 服务器,我想查看所有 mysql 数据库。所以我切换到 Linux root 用户并尝试登录 mysql。通常(在其他服务器上)我使用简单的mysql 命令执行此操作,但在这里我得到一个访问被拒绝:

[root@our.server.com kramer65]# mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

我想如果我是 Linux 上的 root,我可以做任何我想做的事情。有没有办法可以将所有 Mysql 数据库显示为 Linux root 用户?

【问题讨论】:

    标签: mysql linux database command-line-interface root


    【解决方案1】:

    您可以从这里以 linux root 身份登录您的数据库:如果重新启动服务是一个选项: https://www.digitalocean.com/community/tutorials/how-to-reset-your-mysql-or-mariadb-root-password

    sudo systemctl stop mysql
    sudo mysqld_safe --skip-grant-tables --skip-networking &
    mysql -u root
    

    然后通常适用:

    mysql>SHOW DATABASES;
    

    【讨论】:

      【解决方案2】:

      系统root用户和mysql的root用户不一样,有可能是系统用户没有权限。

      你可以给mysql的用户名

      mysql -u root -p
      

      并输入 mysql root 用户的密码。


      您可以使用相同的命令连接到 任何在 mysql 中有效的 mysql 用户帐户。

      【讨论】:

      • 含义;如果我不知道 mysql root 用户密码,我无法以 Linux root 身份访问它?
      • 是的,您可以像重置 mysql root 密码一样。但您也可以以任何具有正确 GRANT PRIVILEGES 的用户身份登录。如果这是一个选项,您将需要重新启动服务。这是我关注的操作方法digitalocean.com/community/tutorials/…。 Maria bieng 是 mysql 的一个分支,这适用于两者。
      • 正如路易斯所说,您需要授予具有适当权限的 mysql 用户的 root@localhost 访问权限,但这不是您的问题。 :)
      • @kramer65 您无需重置 mysql 密码即可从 root 访问 mysql。在我给出的命令中,将“root”更改为另一个具有 mysql 访问权限的用户,并在出现提示时使用该密码。
      猜你喜欢
      • 2022-01-07
      • 2015-11-26
      • 1970-01-01
      • 2016-03-16
      • 2017-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-29
      相关资源
      最近更新 更多