在實際應用中我們改動得最多的是MySQL—User 和Admin—User這兩個參數(shù)。MySQL—User指明運行MySQL數(shù)據(jù)庫服務程序的用戶,而Admin—User指明能對MySQL數(shù)據(jù)庫系統(tǒng)執(zhí)行特權操作(如:關閉數(shù)據(jù)庫服務程序的運行,創(chuàng)建數(shù)據(jù)庫等操作)的用戶。因此,如果你希望MySQL服務程序以database這個用戶運行,指定admin這個用戶能執(zhí)行數(shù)據(jù)庫操作,你要將MySQL—User和Admin—User所在的行分別改為:MySQL—User = database和Admin—User = admin。另外你還必須將Hughes目錄下的文件和目錄的屬主改為database。在配置完成后,注銷當前用戶的身份,重新以msql.conf的參數(shù) MySQL—User設定的用戶登錄到系統(tǒng),進入/usr/local/Hughes/bin目錄鍵入如下的命令:./msql2d &,這樣就啟動了MySQL數(shù)據(jù)庫系統(tǒng)。至于帶源碼的安裝軟件,看一看README和INSTALL這些文件一般就能順利安裝完成。
為了將MySQL集成到用戶的應用程序中去,MySQL數(shù)據(jù)庫系統(tǒng)為用戶提供了一個C語言的API庫和一個解釋器:w3—msql,通過C語言的API庫,你可以將MySQL集成到用標準C語言開發(fā)的應用程序中去。而有了w3—msql這個工具,你可以通過編寫類C語言腳本語言將mSQL數(shù)據(jù)庫嵌入到html文件中,下面舉一程序?qū)嵗M行說明。
下面的程序片段要完成的功能是將瀏覽器頁面上提交上來的用戶名和口令與表registered—user中的用戶名和口令相比較,如果用戶名和口令正確,將在頁面上顯示注冊成功的信息,否則提示用戶注冊失敗。采用C語言實現(xiàn)的方法如下所示:
void main(int argc, char argv[])
{
//解析用戶提交上來的用戶名和口令并保存到變量username和password—usr中
…
//創(chuàng)建與本機的mSQL數(shù)據(jù)庫系統(tǒng)的套接字
sock=msqlConnect(NULL);
//選擇數(shù)據(jù)庫test
if (msqlSelectDB(sock,″test″)==-1)
{
//輸出數(shù)據(jù)庫選擇失敗信息
…
} else
{
sprintf(buff,″select ?? from registered—user where username=′%s′″,username);
//以username查詢表registered—user中的記錄
if (msqlQuery(sock,buff)==-1)
{
//輸出查詢失敗的錯誤信息
…
}
//將查詢結(jié)果保存到m—result類型的指針變量 res
res=msqlStoreResult();
//得到查詢結(jié)果的記錄數(shù)
numrow=msqlNumRows(res);
if (numrow==1)
{
//得到當前記錄,類型為:m_row
row=msqlFetchRow(res);
//將保存在表中的口令和用戶輸入的口令相比較
if (!strcmp(password_ur,row[2]))
{
//輸出注冊成功信息
} else
{