sql >> Databasteknik >  >> RDS >> Mysql

Hur man använder Perl för att ändra ett mysql-lösenord

Du saknar ett par steg. Använd kommandot PASSWORD() och använde 'admin' och inte 'root' och lägg även till flush priv's. Jag skrev om skriptet åt dig här:

#!/usr/bin/perl

use DBI;
use strict;

my $newpass = "newpass";
my $driver = "mysql";
my $database = "mysql";
my $dsn = "DBI:$driver:database=$database";
my $dbh = DBI->connect($dsn, 'root', 'mysql' ) or die $DBI::errstr;
$dbh->{AutoCommit} = 0;
my $sth = $dbh->prepare("update user set password=PASSWORD('$newpass') where User='root'");
$sth->execute() or die $DBI::errstr;
$dbh->do('FLUSH PRIVILEGES') or die $DBI::errstr;
$sth->finish();
$dbh->commit or die $DBI::errstr;


  1. Enkelt PHP röstningssystem

  2. Databasdesign för gruppering

  3. Ogiltigt parameternummer:parametern definierades inte. Infogar data

  4. Meddelar att SQL Compliance Manager 5.9 är allmänt tillgänglig