Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Cara menggunakan Perl untuk mengubah kata sandi mysql

Anda melewatkan beberapa langkah. Gunakan perintah PASSWORD() dan gunakan 'admin' dan bukan 'root' dan juga tambahkan flush priv's. Saya menulis ulang skrip untuk Anda, di sini:

#!/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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. pengurutan pengelompokan hierarki mySQL

  2. MY SQL - Kode Kesalahan:1010. Kesalahan menjatuhkan basis data (tidak dapat rmdir; errno:13)

  3. Masalah dengan pengkodean utf-8 menggunakan PHP + MySQL

  4. PostgreSQL tercepat yang setara dengan MySQL UTC_DATE() (mendapatkan tanggal UTC)?

  5. Prioritas transaksi?