1. 程式人生 > >perl DBI模組和DBD-mysql模組安裝

perl DBI模組和DBD-mysql模組安裝

首先,來一段程式碼來自NinGoo的檢測系統中已經安裝的Perl模組:

[[email protected] tmp]# cat check_module.pl 
#!/usr/bin/perl

use ExtUtils::Installed;
my $inst = ExtUtils::Installed->new();
print join "\n",$inst->modules();
print"\n";
安裝前的結果:
[[email protected] tmp]# ./check_module.pl 
Perl

一、安裝DBI模組

2.將下載模組上傳到相應伺服器上:/perl/Module/

3.解壓安裝 

tar -zxvf DBI-1.633.tar.gz
cd DBI-1.633
perl Makefile.PL [PREFIX="/perl/Module/DBI"] <span style="color:#ff6666;">#可以安裝自定義目錄</span>
make 
make test
make install

4.簡單測試

<pre name="code" class="html"><pre name="code" class="html">[[email protected] tmp]# cat testDBI 
#!/usr/bin/perl -w

use strict;
use DBI;
print "Text DBI success!\n";
[
[email protected]
5sql1 tmp]# ./testDBI Text DBI success!
[[email protected] tmp]# ./check_module.pl 
DBI
Perl

說明:使用自定義目錄,在呼叫DBI時將use DBI換成use lib "/perl/Module/DBI/lib64/perl5/"; require DBI;

二、安裝DBD::Mysql模組

1.下載模組:http://download.csdn.net/detail/u010587433/8857609(或者http://search.cpan.org/~capttofu/DBD-mysql-4.018/

2.上傳伺服器

3.安裝同上

tar -zxvf DBD-mysql-4.032_01.tar.gz
cd DBD-mysql-4.032_01
perl Makefile.PL [PREFIX="/perl/Module/Mysql"] #可以安裝自定義目錄
make 
make test
make install
4.測試
<pre name="code" class="html">[[email protected] tmp]# cat check_mysql.pl 
#!/usr/bin/perl

use strict;
use DBI;
use DBD::mysql;
my $user = "root";
my $passwd = "123456";
my $host = "192.168.7.221";
my $db = "test";
my $data_source = "DBI:mysql:database=$db;host=$host";
my $dbh = DBI->connect($data_source,$user,$passwd,{'RaiseError'=>1}) ;
my $sql = qq{select now()};
my $sth = $dbh->prepare($sql);
$sth->execute();
my $set;
$sth->bind_columns(undef,\$set);
while($sth->fetch()){
        print $set."\n";
}
$sth->finish();
$dbh->disconnect();
使用的root使用者安裝在預設路徑下/usr/local/lib64/per5。安裝完mysql模組後,測試報錯:
[[email protected] tmp]# ./check_modu_mysql.pl 
Can't load '/usr/local/lib64/perl5/auto/DBD/mysql/mysql.so' for module DBD::mysql: libmysqlclient.so.18: cannot open shared object file: No such file or directory at /usr/lib64/perl5/DynaLoader.pm line 200.

查詢是否存在此Lib

[[email protected] tmp]# find / -name libmysqlclient.so.18
/usr/local/mysql/lib/libmysqlclient.so.18
/usr/local/mysql-5.6.4-m7/libmysql/libmysqlclient.so.18

修復

[[email protected] tmp]# ldd /usr/local/lib64/perl5/auto/DBD/mysql/mysql.so
        linux-vdso.so.1 =>  (0x00007ffff9198000)
        <span style="color:#ff6666;">libmysqlclient.so.18 => not found</span>
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f0e71568000)
        libz.so.1 => /lib64/libz.so.1 (0x00007f0e71352000)
        libm.so.6 => /lib64/libm.so.6 (0x00007f0e710ce000)
        librt.so.1 => /lib64/librt.so.1 (0x00007f0e70ec5000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007f0e70cc1000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f0e7092d000)
        /lib64/ld-linux-x86-64.so.2 (0x0000003ae0400000)
發現在mysql的安裝目錄檔案,把檔案拷貝過去(注意目錄)
[[email protected] tmp]# cp /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/
之後修復一下:
[[email protected] tmp]# ldd /usr/local/lib64/perl5/auto/DBD/mysql/mysql.so
        linux-vdso.so.1 =>  (0x00007fff8dbff000)
        libmysqlclient.so.18 => /usr/lib64/libmysqlclient.so.18 (0x00007fcd63100000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fcd62ee3000)
        libz.so.1 => /lib64/libz.so.1 (0x00007fcd62ccc000)
        libm.so.6 => /lib64/libm.so.6 (0x00007fcd62a48000)
        librt.so.1 => /lib64/librt.so.1 (0x00007fcd62840000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007fcd6263b000)
        libc.so.6 => /lib64/libc.so.6 (0x00007fcd622a7000)
        libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007fcd61fa1000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fcd61d8a000)
        /lib64/ld-linux-x86-64.so.2 (0x0000003ae0400000)

最後測試成功:

[[email protected] tmp]# ./check_mysql.pl 
2015-07-01 12:13:41
檢視已安裝的模組
[[email protected] tmp]# ./check_module.pl 
DBD::mysql
DBI
Perl

參考:

相關推薦

perl DBI模組DBD-mysql模組安裝

首先,來一段程式碼來自NinGoo的檢測系統中已經安裝的Perl模組: [[email protected] tmp]# cat check_module.pl #!/usr/bin/perl use ExtUtils::Installed; my $ins

PerlDBIDBD::mysql模組安裝可能出現的錯誤解決方法

使用的軟體版本 DBI-1.604.tar.gz DBD-mysql-4.006.tar.gz 建議使用以上版本搭配,否則可能連線mysql錯誤 一、DBI的安裝  wget http://www.cpan.org/modules/by-module/DBD/DBI-

用sql語句操作mysql資料庫的增刪改查(命令提示符引入mysql模組兩種方式)

1:命令提示符方法: 我的 :mysql.sql檔案。當然首先得開啟本地伺服器(我的是xampp); 少了一步了:首先要在進入mysql -h127.0.0.1 -u root -p;後引入我的mysql.sql 檔案; 我用的是 source方法:  source

python匯入自帶模組自定義模組

模組就是已經開發好的程式碼功能,自己直接匯入進來,直接使用。匯入分為python 或selenium 自帶的模組和自己寫的自定義模組,下面根據這兩個方向寫一下分別匯入的方法。 1.匯入自帶模組import sys #匯入sys模組,呼叫此模組時的方法 print sys.argvfrom sys impor

python筆記(配置檔案模組配置日誌模組)

一、配置檔案模組:configparser 1、寫入配置檔案 import configparser config = configparser.ConfigParser() config["名字"] = {'xiaoxiao':'18', 'dada':

python 3匯入當前目錄模組子目錄下模組出錯

今天下載一個開源工程,在伺服器上執行出錯,提示模組匯入失敗,可是要匯入的模組就在當前目錄和當前目錄的子目錄,在我的筆記本上沒有發現該問題。後面解決方法就是,需要設定環境變數export PYTHONPA

專案日誌:caffe預測模組yolo追蹤模組的多gpu多執行緒改進

之前的模式是每個執行緒都有一個單獨的模組例項,需要進行重複的模型載入。 為了實現模型為多個執行緒所複用,需要對模組進行改進。 嫌疑人識別模組和嫌疑車識別模組的結構是一致的,它們都先用yolo進行追蹤,然後用caffe進行分類,所以涉及到這兩個深度學習框架在多

Python中的內建的模組 第三方的模組

1.Python內建模組和第三方模組 內建模組: Python中,安裝好了Python後,本身就帶有的庫,就叫做Python的內建的庫。 內建模組,也被稱為Python的標準庫。 Python 2.x的線上庫函式查詢,可以去這裡: 第三方庫: 而非Python本

Mac版 Nignx安裝 及echo模組配置舉例

brew安裝 命令:brew install nginx 配置目錄:/usr/local/etc/nginx/ 啟動:sudo nginx 重啟:sudo nginx -s reload 關閉:ps -ef| grep nginx 檢視程序號 、 kill -9 程序號(強制關閉

debian 下py2.7 安裝mysql模組

先安裝pip 然後用pip安裝 setuptools 安裝模組的時候會報錯    python setup.py install sh: mysql_config: command not found Traceback (most recent call last): F

解決nodejs安裝不了mysql模組

嘗試過各種辦法,包括 npm install mysql , npm install mysql  -g ,去到node.exe的資料夾下執行 npm install mysql ,或者重新安裝node,但是統統不行,最後的最後,採用 使用淘寶 NPM 映象去安裝,

Windows下python27操作mysql模組安裝

在安裝了python2.7的環境下 進入CMD執行pip install mysql-python 在我的電腦上提示安裝失敗: 缺少VC的一個庫,根據提示的網站去下載安裝,再次執行: pip install mysql-python 還是報錯: 因為缺少驅

Linuxwindow系統上安裝paramiko模組

一、paramiko模組有什麼用? paramiko是用python語言寫的一個模組,遵循SSH2協議,支援以加密和認證的方式,進行遠端伺服器的連線。由於使用的是python這樣的能夠跨平臺執行的語言,所以所有python支援的平臺,如Linux, Solaris, BSD

遞迴、os.walk、內建函式、lambda、hashlib模組、md5加密、python安裝第三方模組、操作mysql資料庫

#遞迴就是函式自己調自己,一般遞迴都會有在什麼情況下結束遞迴,一業可以有結束條件#遞迴最多死迴圈999次,遞迴不能設定次數# count=0# def abc():# global count# count+=1# print(count)# print('abc')#

更改npm全域性模組cache預設安裝位置

                參考文章:http://xiaoyaojones.blog.163.com/blog/static/28370125201351501113581/1、因為我安裝的Node.js自帶了npm,所以在nodejs資料夾裡面新建以下兩個目錄:node_globalnode_cach

Python中requests庫模組lxml模組安裝問題(windows下)

1.requests模組安裝: 第一次匯入requests模組,會報mportError: No module named requests的錯。這就是沒有成功匯入requests模組。 2.lxml模組安裝問題: 1.進入http://www.lfd

微擎we7模組模板安裝方法

微擎we7模組安裝步驟: 1,將下載的模組上傳至\addons\下 2,在微擎後臺->系統->擴充套件->模組裡安裝模組模板安裝步驟: 安裝微站模板: 1,將下載的微站模板上傳至\app\themes\下 2,在微擎後臺->系統->擴充套件-&

yum安裝下的nginx,如何新增模組新增第三方模組

需求:生產有個介面是通過socket通訊。nginx1.9開始支援tcp層的轉發,通過stream實現的,而socket也是基於tcp通訊。 實現方法:Centos7.2下yum直接安裝的nginx,新增新模組支援tcp轉發;重新編譯Nginx並新增 --with-stream 引數。 實現過程: 1.

Python模組(學習使用模組安裝第三方模組

模組 為了編寫可維護的程式碼,我們把很多函式分組,分別放到不同的檔案裡,這樣,每個檔案包含的程式碼就相對較少,很多程式語言都採用這種組織程式碼的方式。在Python中,一個.py檔案就稱之為一個模組(Module)。 使用模組有什麼好處? 1. 最大的好處

Python下的Mysql模組MySQLdb安裝詳解

[[email protected] MySQL-python-1.2.3]# /usr/local/bin/python2.7 Python 2.7.6 (default, Apr 10 2014, 15:45:39) [GCC 4.4.7 20120313 (Red Hat 4.4.7-4)