perl连接mysql出错的解决方法

发布时间:2020-08-25编辑:脚本学堂
perl连接mysql出错的解决方法

1.安装DBI 程 DBD::mysql
2.试着运行以下代码:dbi_test.pl
 

复制代码 代码如下:

#!/usr/bin/perl
use DBI;
use DBD::mysql;

$database = "DBI:mysql:test";
my $dbh = DBI->connect($database, "root", "") or
    die("Could not make connection to database:$DBI::errstr");
print "connect successful!n";

my $sql = "SELECT * FROM pet;";
my $sth = $dbh->prepare($sql);

$sth->execute() or die "Cannot execute SQL:$dhb->errstr";
print "execute successfuln";

my @array;

while (@array = $sth->fetchrow_array()){
    write();
}

warn($DBI::errstr) if $DBI::err;

$dbh->disconnect();
$sth->finish();

format STDOUT =
@<<<<<<<<@<<<<<<<<@<<<<<<<<@<<<<<<<<
$array[0],$array[1],$array[2],$array[3],$array[4]
.

这时DBI->connect()方法连接时出错:
找不到"/var/lib/mysql/mysql.sock",这时查看有没有这个文件,发现并没有这个文件,我想到的解决方法是首先找出mysql.sock是存放在哪里.在我的环境下是在"/tmp/mysql.sock",所以只要在/var/lib/mysql/ 目录下建立符号连接:
shell>ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock
注意:要是在/var/lib目录下没有mysql这个文件夹就要先建立这个文件夹.
创建完符号连接,再次运行:
shell>perl dbi_test.pl
运行成功。