MOON
Server: Apache/2.2.31 (Unix) mod_ssl/2.2.31 OpenSSL/0.9.8e-fips-rhel5 mod_bwlimited/1.4
System: Linux csr818.wilogic.com 2.6.18-419.el5xen #1 SMP Fri Feb 24 22:50:37 UTC 2017 x86_64
User: digitals (531)
PHP: 5.4.45
Disabled: NONE
Upload Files
File: //proc/self/root/proc/self/root/scripts.20110531.215904.25158/transfermysqlusers
#!/usr/bin/perl

# cpanel - scripts/transfermysqlusers             Copyright(c) 2010 cPanel, Inc.
#                                                           All rights Reserved.
# copyright@cpanel.net                                         http://cpanel.net
# This code is subject to the cPanel license. Unauthorized copying is prohibited

BEGIN { unshift @INC, '/usr/local/cpanel'; }

use strict;
use warnings;

use Cpanel::MysqlUtils      ();
use Cpanel::CachedDataStore ();

if ( !Cpanel::MysqlUtils::is_remote_mysql() ) {
    exit;
}

my $map_dir = '/var/cpanel/databases';

opendir( my $dir_fh, $map_dir ) or do {
    print "Unable to open $map_dir";
    exit 1;
};

my @grant_files = map { "$map_dir/$_" }
  grep { /^grants(.*)\.yaml$/ }
  grep { !/^\.\.?$/ } readdir($dir_fh);

my @user_grants;
foreach my $yaml_file (@grant_files) {
    my $data = Cpanel::CachedDataStore::load_ref($yaml_file);

    foreach my $dbowner ( keys %{ $data->{'MYSQL'} } ) {
        foreach my $dbuser ( keys %{ $data->{'MYSQL'}{$dbowner} } ) {
            foreach my $grant ( @{ $data->{'MYSQL'}{$dbowner}{$dbuser} } ) {
                next unless $grant =~ /IDENTIFIED BY PASSWORD/;
                push @user_grants, $grant;
            }
        }
    }
}

foreach my $grant (@user_grants) {
    Cpanel::MysqlUtils::sqlcmd($grant);
}