Perl-скрипт для подключения к порту MySQL 3307 - PullRequest
1 голос
/ 12 февраля 2010

Я пытаюсь подключиться к серверу mysql, который работает через порт 3307. Как мне подключиться к серверу? Я не вижу другого способа указать порт. Я использую так:

#!/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 ]

6 голосов
/ 12 февраля 2010

Вы ошибаетесь. Вы хотите использовать 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 голос
/ 12 февраля 2010

Попробуйте указать хост как localhost:3307

0 голосов
/ 12 июля 2011

Для меня ... Кажется, работает следующее ...

#!/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";

где я не указал упомянутый порт. Когда я добавляю порт, он не может подключиться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...