perl脚本连接到mysql服务器端口3307

时间:2010-02-11 23:49:58

标签: mysql perl

我正在尝试连接到在端口3307上运行的mysql服务器。如何连接到服务器?我没有看到任何其他方式来指定端口。我这样使用:

#!/usr/bin/perl
use Mysql;

$host = "localhost";
$database = "abc";
$tablename = "def";
$user = "uuu";
$pw = "ppp";


$connect = Mysql->connect($host, $database, $user, $pw) or die "Cannot connect to MySQL server\n";

我想使用MySQL包而不是DBI。

谢谢。

3 个答案:

答案 0 :(得分:6)

你错了。您想使用DBI而不是Mysql。 Mysql模块在12年前就已经过时了,当时它被一个兼容模块所取代,后者只是DBI的一个包装器。甚至兼容模块也已从当前分发中删除;你必须安装一个旧的DBD::mysql才能获得它(最后一次发布在DBD-mysql 3.0008,并于2006年发布)。

#!/usr/bin/perl

use strict;
use DBI;

my $host = "localhost";
my $database = "abc";
my $port = 3307;
my $tablename = "def";
my $user = "uuu";
my $pw = "ppp";

my $dbh = DBI->connect("DBI:mysql:database=$database;host=$host;port=$port",
                       $user, $pw)
  or die "Cannot connect to MySQL server\n";

答案 1 :(得分:1)

尝试指定localhost:3307

之类的主机

答案 2 :(得分:0)

对我来说......以下似乎正在发挥作用......

#!/usr/bin/perl

use strict;
use DBI;

my $host = "rajeshk-W7";
my $database = "rajesh";
my $port = 3307;
my $tablename = "def";
my $user = "rajesh";
my $pw = "rajesh123";
#my $dbh = DBI->connect("DBI:mysql:rajesh:rajeshk-W7","rajesh","rajesh123") or die "Cannot connect to MySQL server\n";

my $dbh = DBI->connect("DBI:mysql:database=$database;host=$host",$user, $pw) or die "Cannot connect to MySQL server\n";

我提到端口。当我添加端口时,它无法连接。