【问题标题】:How to change the phpMyAdmin root password via a PHP query script如何通过 PHP 查询脚本更改 phpMyAdmin 根密码
【发布时间】:2019-09-05 22:04:15
【问题描述】:

我有一个关于是否可以使用 PHP 脚本来更改 phpMyAdmin 根密码的问题。我正在开办一家小型托管/sass 业务,如果您对此有更好的解决方案,我需要做的一件事就是让它工作,请告诉我。

我查看了这个查询,但你只能在你已经登录到 phpMyAdmin 面板时运行它。 SET PASSWORD FOR root@localhost = PASSWORD('yourpassword');

我基本上希望能够在 PHP 文件中运行此查询。

预期结果:一旦运行此 PHP 脚本,它将更改 phpMyAdmin 根密码。

我怎么能做到这一点?是否可以? 如果您需要更多信息,请告诉我,我会尽快回复您。

谢谢

【问题讨论】:

  • 只需编写一个连接到 MySQL 服务器并执行查询的 PHP 脚本,使用 mysqliPDO。就像任何其他使用 MySQL 的 PHP 脚本一样。
  • @Barmar 那不是必须连接到特定的数据库吗?是否有存储所有 phpMyAdmin 用户数据(root、root 密码等)的数据库?
  • phpMyAdmin 没有自己的用户表,它使用 MySQL mysql 数据库。

标签: php mysql phpmyadmin sysadmin


【解决方案1】:

这是我的解决方案

我连接到 mysql 服务器并着手更改 root 密码。一个简单的解决方案,花了我几个小时。

$conn = new mysqli(IP,MySQL Username,Password);
$conn->query("SET PASSWORD FOR root@localhost = PASSWORD('password');");
$conn->query("FLUSH PRIVILEGES;");
$conn->close();

【讨论】:

    【解决方案2】:

    试试这个! (请记住,此代码仅适用于本地主机)。

    $query = "SET PASSWORD FOR root@localhost = PASSWORD('your_root_password')"; mysql_query($query);

    【讨论】:

    • 好的,谢谢,这可以通过不在本地主机上的 php 脚本实现吗?如果没有,是否可以使用 bash 脚本来完成?
    • 你应该在你的真实主机中使用 root@% 而不是 root@localhost。实际上你可以在本地和真实主机中使用 root@%
    • mysql_query 已死。不能再使用了。
    • 您应该使用mysqliPDOmysql_XXX 函数多年前已弃用,并在 PHP 7.x 中完全删除。
    【解决方案3】:

    phpMyAdmin 没有自己的用户表,它使用 MySQL mysql 数据库,因为归根结底 phpMyAdmin 只是另一个 MySQL 客户端。

    您有两个选项可以在此处更改密码:

    • 使用mysqladmin
    • 使用正确的SET PASSWORD 命令。 请勿在此处使用PASSWORD(...),因为这会将您的密码设置为您的密码的一些加扰(散列)版本。让 MySQL 为您进行哈希处理。

    要更改密码,您需要知道当前密码。这使得编写脚本变得困难,除非您有一些地方可以轻松更改密码脚本本身的外部。我建议一个 INI 文件,它可以是 easily parsed

    话虽如此,phpMyAdmin 并不总是最好的解决方案,尤其是当存在像MySQL Workbench 这样的免费工具时。 phpMyAdmin 是一种潜在的安全风险,如果人们使用像db123 这样的弱密码,则会带来严重的安全风险。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-06
      • 2021-06-11
      • 2014-12-02
      • 1970-01-01
      • 2018-12-15
      • 1970-01-01
      • 1970-01-01
      • 2011-09-10
      相关资源
      最近更新 更多