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

时间:2015-03-11 06:49:48

标签: php mysql

我使用下面的脚本

创建用户
$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来更改此用户密码?

1 个答案:

答案 0 :(得分:3)

您可以使用以下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代替它。