#!/bin/env perl use warnings; use strict; use DBI; my $db = "****"; my $host = "****"; my $cfg_file = "/tmp/my.cnf"; my ($dsn, $dbh); print STDERR "Without host=\$host\n"; $dsn = "dbi:mysql:mysql_ssl=1;database=$db;mysql_read_default_file=$cfg_file;mysql_read_default_group=test_group"; $dbh = DBI->connect($dsn); print STDERR "\nWith host=\$host\n"; $dsn = "dbi:mysql:mysql_ssl=1;database=$db;mysql_read_default_file=$cfg_file;mysql_read_default_group=test_group;host=$host"; $dbh = DBI->connect($dsn); print "\$dbh = $dbh\n"; #### Without host=$host DBI connect('mysql_ssl=1;database=****;mysql_read_default_file=/tmp/my.cnf;mysql_read_default_group=test_group','',...) failed: Can't connect to local MySQL server through socket '/var/run/mysql.sock' (2) at /tmp/test_db.pl line 12. With host=$host $dbh = DBI::db=HASH(0xa00318a18) #### [test_group] host=**** port=3306 database=**** user=**** password=**** no-auto-rehash ssl=1