dear monks,
i have to write a program, that takes database name, new user name and password as input from the user and create the database.
I have written the following program.
use DBI;
$drh = DBI->install_driver("mysql");
$database ='testg1';
$host ="localhost";
$user = "root";
$password = "passowrd";
$rc = $drh->func('createdb', $database, $host, $user, $password, '
+admin');
if ($rc == 1){print"new database created.."; }
else{print "could not create database: $DBI::errstr\n";}
#####################################
######database created successfully
#####################################
####################################
### the following segment is giving problem
#####################################
# the datasource
$dbname = 'testg1';
my $db="$dbname:164.xxx.x.xxx:yyyy";
my $dbh = DBI->connect("DBI:mysql:$db",$user,$password) or die("ca
+nt connect\n");
print "connected";
###########################################
###### because of the error, i dont reach the following ##segment
############################################
$auser = 'newuser@localhost';
$pw = 'abcd';
my $query = qq|GRANT ALL on $db.* TO ? IDENTIFIED BY ?|;
$dbh->do($query,undef,$auser,$pw) || die ("Could not do $query - E
+rror: $DBI::errstr");
###########################################
Though i am able to make the new database, i am not able to use it to create new user and grant rights. I am getting the following error.
DBI->connect(testg1:164.xxx.x.xxx:yyyy) failed: Access denied for user
+: 'root@myhost' (Using password: YES) at create.pl line 19
cant connect
I can connect through the MySql console using same username and password. I can also create dtabase and grant rights etc from there. But through thr program, i am getting the "cant connect" error.
Please help.