Mini Shell

Direktori : /scripts/
Upload File :
Current File : //scripts/killmysqlwildcard

#!/usr/local/cpanel/3rdparty/bin/perl

# cpanel - scripts/killmysqlwildcard               Copyright 2022 cPanel, L.L.C.
#                                                           All rights reserved.
# copyright@cpanel.net                                         http://cpanel.net
# This code is subject to the cPanel license. Unauthorized copying is prohibited

use strict;
use warnings;

use Cpanel::Config::Users       ();
use Cpanel::MysqlUtils::Connect ();
use Cpanel::MysqlUtils::Quote   ();
use Cpanel::Logger              ();
use Cpanel::DB::Utils           ();

my $logger = Cpanel::Logger->new();

my @cpusers = Cpanel::Config::Users::getcpusers();
my $dbh;

if ( my $obj = eval { Cpanel::MysqlUtils::Connect->new() } ) {
    $dbh = $obj->db_handle();

}
else {
    die "Failed to connect to MySQL: $@";
}

foreach my $cpuser (@cpusers) {
    my $dbowner_name = Cpanel::DB::Utils::username_to_dbowner($cpuser);

    my $safe_name = Cpanel::MysqlUtils::Quote::quote("$dbowner_name\\_%");

    $logger->info("Removing mysql wildcard grant from $cpuser");

    $dbh->do("DELETE FROM mysql.db WHERE db = $safe_name;");
}

$dbh->do('FLUSH PRIVILEGES;');
$dbh->disconnect();

Zerion Mini Shell 1.0