加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Perl安装DBDmysql操作mysql数据库

发布时间:2020-12-16 00:06:54 所属栏目:大数据 来源:网络整理
导读:本文讲述两个内容: 一:环境包安装 二:操作脚本 一:环境包安装 假定 以安装好perl语言和mysql数据库 DBI安装:DBI详细信息参考:http://dbi.perl.org/ 1.下载DBI包: 下载地址:http://search.cpan.org/CPAN/authors/id/T/TI/TIMB/DBI-1.620.tar.gz tar xzf DB

本文讲述两个内容:

一:环境包安装

二:操作脚本


一:环境包安装

假定 以安装好perl语言和mysql数据库


DBI安装:DBI详细信息参考:http://dbi.perl.org/
1.下载DBI包:
下载地址:http://search.cpan.org/CPAN/authors/id/T/TI/TIMB/DBI-1.620.tar.gz


tar xzf DBI-1.620.tar.gz
进入解压包内 perl Makefile.PL 
make test
make
make install (如果不是root用户,要sudo一下)


DBD安装:
1.下载DBD
下载地址:http://search.cpan.org/CPAN/authors/id/C/CA/CAPTTOFU/DBD-mysql-4.021.tar.gz
2. 3. 同上


Can't exec "mysql_config": 没有那个文件或目录 at Makefile.PL line 479.

解决方法:

进入DBD::mysql的代码安装目录

$find / ?-name "mysql_config"

/usr/local/mysql/bin/mysql_config
$ cd ~/.cpan/build/DBD-mysql-3.0008
$ perl Makefile.PL --mysql_config=/usr/local/mysql/bin/mysql_config
$ make
$ make test
$ make install

问题2

如果 Perl 报告它不能找到../mysql/mysql.so模块,那么问题可能是该Perl不能找到共享库文件“libmysqlclient.so”。

你可用下列任何一个方法修正它这:

  • 用perl Makefile.PL -static而非perl Makefile.PL编译Msql-Mysql-modules分发。
  • 拷贝libmysqlclient.so到其他共享库文件所在的目录(可能是“/usr/lib”或“/lib”)。
  • 在Linux上,你可以把libmysqlclient.so所在目录的路径名加到“/etc/ld.so.conf”文件中。
  • 把libmysqlclient.so所在目录的路径名加到LD_RUN_PATH环境变量中。

详见 ?报错:install_driver(mysql) failed: Can't load '/usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi/auto/DBD/mysql/mysql.so' for module DBD::mysql: libmysqlclient.so.15 无法打开共享对象文件: 没有那个文件或目录 at /usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi/DynaLoader.pm line 230.



在进行第三步是可能会出现mysql_config找不到的情况,应该是没有安装开发工具包
sudo apt-get install libmysqld-dev
sudo apt-get install libmysqlclient-dev

CentOS 用?

yum install libmysqld-dev

yum install libmysqlclient-dev


来安装这两个包。

其余同上。
完成安装后就可以利用perl脚本进行mysql数据的操作了。


二:操作脚本

1、连接、关闭
my $dbh = DBI->connect(”DBI:mysql:database=DBname;host=localhost”,”user”,”pwd”,{’RaiseError’ => 1});
… …
$dbh->disconnect();

2、类似插入等无返回操作
my $sqr = $dbh->PRepare(”insert into table_name(Name,region_id,inuse,url) values (’”.$r_name.”‘,’”.($t+1).”‘,’1′,’”.$r_url.”‘) “);
$sqr->execute();

3、取得自增长的ID
执行插入操作后
my $table_key = $dbh->{’mysql_insertid’};


4、Select操作
my $row;
while ($row = $sqr->fetchrow_arrayref) {
?printf $row->[0].”++”.$row->[1].”n”;
}


详细操作可以查看 perl dbi详解

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读