程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> Linux下MySQL數據庫開發技術

Linux下MySQL數據庫開發技術

編輯:關於MYSQL數據庫

  首先,到站點www.hughes.com.au注冊後就能免費下載該軟件的最新版本。MySQL的安裝相當簡單,二進制版本(針對某一個硬件平台編譯後的軟件)的安裝只是將文件展開到用戶某一目錄下然後配置幾個參數就可以。例如你下載的文件為:MySQL-2.0.3.tar.gz,你想把mSQL安裝到/usr/local目錄下,這時,我們需要先將這個文件拷貝到/usr/local這個目錄,然後鍵入命令tar zxvf MySQL-2.0.3.tar.gz,這個命令將展開該壓縮文件。一般,MySQL數據庫系統的所有文件都安裝到/usr/local/Hughes目錄下。接著就是配置MySQL數據庫。你所要做的工作就是要修改/usr/local/Hughes目錄下的文件msql.conf。

  在實際應用中我們改動得最多的是MySQL—User 和Admin—User這兩個參數。MySQL—User指明運行MySQL數據庫服務程序的用戶,而Admin—User指明能對MySQL數據庫系統執行特權操作(如:關閉數據庫服務程序的運行,創建數據庫等操作)的用戶。因此,如果你希望MySQL服務程序以database這個用戶運行,指定admin這個用戶能執行數據庫操作,你要將MySQL—User和Admin—User所在的行分別改為:MySQL—User = database和Admin—User = admin。另外你還必須將Hughes目錄下的文件和目錄的屬主改為database。在配置完成後,注銷當前用戶的身份,重新以msql.conf的參數 MySQL—User設定的用戶登錄到系統,進入/usr/local/Hughes/bin目錄鍵入如下的命令:./msql2d &,這樣就啟動了MySQL數據庫系統。至於帶源碼的安裝軟件,看一看README和INSTALL這些文件一般就能順利安裝完成。

  為了將MySQL集成到用戶的應用程序中去,MySQL數據庫系統為用戶提供了一個C語言的API庫和一個解釋器:w3—msql,通過C語言的API庫,你可以將MySQL集成到用標准C語言開發的應用程序中去。而有了w3—msql這個工具,你可以通過編寫類C語言腳本語言將mSQL數據庫嵌入到Html文件中,下面舉一程序實例進行說明。

  下面的程序片段要完成的功能是將浏覽器頁面上提交上來的用戶名和口令與表registered—user中的用戶名和口令相比較,如果用戶名和口令正確,將在頁面上顯示注冊成功的信息,否則提示用戶注冊失敗。采用C語言實現的方法如下所示:

   voidmain(intargc,charargv[])
  {
  //解析用戶提交上來的用戶名和口令並保存到變量username和passWord—usr中
  …
  //創建與本機的mSQL數據庫系統的套接字
  sock=msqlConnect(NULL);
  //選擇數據庫test
  if(msqlSelectDB(sock,″test″)==-1)
  {
  //輸出數據庫選擇失敗信息
  …
  }else
  {
  sprintf(buff,″select??fromregistered—userwhereusername=′%s′″,username);
  //以username查詢表registered—user中的記錄
  if(msqlQuery(sock,buff)==-1)
  {
  //輸出查詢失敗的錯誤信息
  …
  }
  //將查詢結果保存到m—result類型的指針變量res
  res=msqlStoreResult();
  //得到查詢結果的記錄數
  numrow=msqlNumRows(res);
  if(numrow==1)
  {
  //得到當前記錄,類型為:m_row
  row=msqlFetchRow(res);
  //將保存在表中的口令和用戶輸入的口令相比較
  if(!strcmp(passWord_ur,row[2]))
  {
  //輸出注冊成功信息
  }else
  {
  //輸出口令不對的提示信息
  }
  }else
  {
  //輸出用戶名輸入出錯信息
  }
  }
  //釋放查詢結果的指針
  msqlFreeResult(res);
  //關閉數據庫系統的套接字
  msqlClose(sock);
  return;
  }

  以上的例子包含有將MySQL集成到C語言程序中用到的主要函數,這些函數基本能滿足應用程序的需要。如果采用w3—msql能解釋的類C語言嵌入到Html文件中,可以達到同樣的功能。與C語言編寫的CGI程序需要編譯不同,腳本語言不需要編譯,該腳本由MySQL數據庫系統提供的CGI程序w3—msql來解釋執行。腳本中主要的代碼段如下所示:

〈Html〉
  〈HEAD〉
  〈METAHTTP-EQUIV=″Content-Type″CONTENT=″text/Html;charset=iso-8859-1″〉
  〈/HEAD〉
  〈bodyTEXT=″#000000″BACKGROUND=″/icon/back.jpg″topmargin=″10″〉
  〈!
  //解析用戶提交上來的用戶名和口令並
  保存到變量username和passWord—usr中
  …
  //創建與本機的mSQL數據庫系統的套接字
  $sock=msqlConnect();
  //選擇數據庫test
  if(msqlSelectDB($sock,″test″)==-1)
  {
  //輸出數據庫選擇失敗信息
  fatal(″錯誤:無法與數據庫連接n″);
  }else
  {
  $buff=″select??fromregistered—userwhereusername=′$username′″;
  //以username查詢表registered—user中的記錄
  if(msqlQuery($sock,$buff)==-1)
  {
  //輸出查詢失敗的錯誤信息
  fatal(″查詢錯誤n″);
  }
  //將查詢出來的結果保存到查詢結果的指針變量res中
  $res=msqlStoreResult();
  //得到查詢結果的記錄數目
  $numrow=msqlNumRows($res);
  if($numrow==1)
  {
  //得到當前記錄的指針
  $row=msqlFetchRow($res);
  //將保存在表中的口令和用戶輸入的口令相比較
  if(!strcmp($passWord—ur,$row[2]))
  {
  //輸出注冊成功信息
  echo(″〈center〉注冊成功〈/center〉″);
  }else
  {
  //輸出口令不對的提示信息
  echo(″〈center〉您輸入的口令不正確〈/center〉″);
  }
  }else
  {
  //輸出用戶名輸入出錯信息
  echo(″〈center〉您輸入的用戶名不正確〈/center〉″);
  }
  }
  //釋放查詢結果占用的內存
  msqlFreeResult($res);
  //關閉數據庫系統的套接字
  msqlClose($sock);
  〉
  〈/BODY〉
  〈/Html〉

  以上介紹了在Linux下以MySQL數據庫系統作為後台數據庫開發應用系統的方法。有了這些基本的方法,我們就能開發出各種基於mSQL數據庫的應用系統。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved