本文讲述两个内容:
一:环境包安装
二:操作脚本
一:环境包安装
假定 以安装好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详解