如何使用php脚本更改mysql用户密码


How to change mysql user password using php script?

我是使用下面的脚本创建用户

$conn = mysqli_connect('host', 'root', 'password');
$dbName = "userdb";
$dbUser = "username";
$dbPass = "password";
$queries = array(
        "CREATE DATABASE `$dbName` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci",
        "CREATE USER '$dbUser'@'localhost' IDENTIFIED BY '$dbPass'",
        "GRANT USAGE ON * . * TO '$dbUser'@'localhost' IDENTIFIED BY '$dbPass' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0",
        "GRANT CREATE, SELECT , INSERT , UPDATE, DELETE ON `$dbName` . * TO '$dbUser'@'localhost'",
        "GRANT ALL PRIVILEGES ON *.* TO '$dbUser'@'%' IDENTIFIED BY '$dbPass'",
        "FLUSH PRIVILEGES"
    );
    foreach($queries as $query) {
        $rs = mysqli_query($conn, $query);          
    }

使用此脚本用户创建成功。

将来如何使用php script更改此用户密码?

您可以使用以下 PHP 脚本更改 MySQL 数据库的密码:

$conn = mysqli_connect('host', 'root', 'password');
$dbUser = "username"; # same username as in your example
$dbPass = "new_password"; # new password
$queries = array(
  "USE mysql;", # switch to the 'mysql' database
  "SET PASSWORD FOR '$dbUser'@'localhost' = PASSWORD('$dbPass');"
);
foreach($queries as $query) {
    $rs = mysqli_query($conn, $query);          
}

请注意,这里没有发生任何神奇的事情。 我们正在像您通常从 MySQL 提示符一样更改用户密码,除了我们是从 PHP 中执行此操作的。