在我使用Webmin(version 1.480)管理FreeBSD主機上的MySQL資料庫伺服器時出現:
“警告:您的系統未安裝Perl 模組 DBI 和 DBD::mysql,Webmin將無法可靠地訪問您的MySQL資料庫。點擊此處 立刻安裝該它們。”
而“點擊此處”安裝時瀏覽器無法開啟此連結,訪問到MySQL手冊上的相關資料在其它類Unix系統中安裝MySQL,提示“如果安裝了DBI和DBD::mysql Perl模組,可以使用bin/mysql_setpermission指令碼增加新賬戶。”
再尋找“Perl安裝注意事項”擷取到相關的資訊是:
“MySQL分發版不包含Perl支援。可以從http://search.cpan.org獲得Unix需要的模組,或在Windows中使用ActiveState ppm程式。
如果你想要運行MySQL基準指令碼,必須安裝Perl支援。
如果你想要安裝Perl支援,需要的檔案能從http://search.cpan.org的CPAN (Comprehensive Perl Archive Network)獲得。”
CPAN是個巨大的Perl軟體收藏庫,其收集大量有用的Perl模組及其相關文檔。
在Unix中安裝Perl模組最簡單的方法是使用CPAN模組。
shell> perl -MCPAN -e shell
cpan> install DBI
cpan> install DBD::mysql
DBD::mysql安裝運行許多測試。測試中使用預設使用者名和密碼嘗試串連本地MySQL伺服器。(預設使用者名是Unix中的登入名稱和Windows中的ODBC。預設密碼“沒有密碼。”) 如果你不能通過這些值串連伺服器 (例如,如果你的賬戶有密碼),測試失敗。可以使用force install DBD::mysql忽略失敗的測試。
按要求操作,安裝DBI時提示:
“Warning (usually harmless): ‘YAML’ not installed, will not store persistent state”
YAML是以資料為中央的標記語言,其使用ASCII碼(如連字號、問號、冒號、逗號等)構造資料區塊(標量值或雜湊碼)。和XML相同,YAML也是一種機器可識別語言,並能和多種指令碼語言相結合,其中一種便是Perl。
考慮到YAML也可以當做是一個Perl模組,因此我嘗試運行:
cpan> install YAML
成功安裝後,重新整理Webmin頁面,只提示 DBD::mysql 沒有安裝了,此時 Webmin 已經可以執行DBD::mysql模組的安裝了:
正在下載 http://www.cpan.org/modules/02packages.details.txt.gz (794409 位元組) ..
收到 1024 位元組 (0 %)
收到 79872 位元組 (10 %)
收到 159744 位元組 (20 %)
收到 238592 位元組 (30 %)
…
但我還是採用手冊上提供的方式安裝 DBD::mysql
接著安裝DBD::mysql時出現錯誤提示:
Running make install
make test had returned bad status, won’t install without force
Failed during this command:
CAPTTOFU/DBD-mysql-4.012.tar.gz : make_test NO
…
於是按要求執行:
cpan> force install DBD::mysql
成功完成安裝
補記:MySQL基準套件
通過基準使用者可以瞭解一個給定的SQL實現在哪方面執行得很好或很糟糕。這個基準是單線程的,它可以測量操作執行的最小時間。
要使用基準套件,必須滿足下面的要求:
基準套件隨MySQL源碼分發提供。可以從http://dev.mysql.com/downloads/下載分發,或者使用當前的開發源碼樹
基準指令碼用Perl編寫而成,使用Perl DBI模組訪問資料庫伺服器,因此必須安裝DBI。還需要為每個待測試的伺服器提供伺服器專用DBD驅動程式。例如,要測試MySQL、PostgreSQL和DB2,必須安裝DBD::mysql、DBD::Pg和DBD::DB2模組。