MOON
Server: Apache
System: Linux vps.thepromohut.com 2.6.18-398.el5 #1 SMP Tue Sep 16 20:51:48 EDT 2014 i686
User: caretrak (507)
PHP: 5.2.10
Disabled: NONE
Upload Files
File: //scripts.20110601.041516.15411/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);
}