日期:2011-05-02 15:44:00 来源:本站整理
Linux下mSQL数据库开辟技术[MySQL防范]
本文“Linux下mSQL数据库开辟技术[MySQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
mSQL(mini SQL)是一个单用户数据库管理系统,由于它的短小干练,使其开辟的利用系统分外遭到互联网用户爱好.笔者曾经在Linux下开辟过一个基于Web的管理系统,此中采取了mSQL数据库用于数据管理,系统在实际运行中效果杰出.笔者经过总结,现将在Linux下mSQL数据库开辟的办法具体介绍给大家.
首先,到站点www.hughes.com.au注册后就可免得费下载该软件的最新版本.mSQL的安装相当简单,二进制版本(针对某一个硬件平台编译后的软件)的安装只是将文件展开到用户某一目录下然后配置几个参数便可以.比方你下载的文件为:mSQL-2.0.3.tar.gz,你想把mSQL安装到/usr/local目录下,这时,我们需求先将这个文件拷贝到/usr/local这个目录,然后键入号令tar zxvf mSQL-2.0.3.tar.gz,这个号令将展开该紧缩文件.普通,mSQL数据库系统的全部文件都安装到/usr/local/Hughes目录下.接着就是配置mSQL数据库.你所要做的工作就是要改正/usr/local/Hughes目录下的文件msql.conf.
在实际利用中我们窜改得最多的是mSQL—User 和Admin—User这两个参数.mSQL—User指明运行mSQL数据库服务程序的用户,而Admin—User指明能对mSQL数据库系统履行特权操作(如:关闭数据库服务程序的运行,成立数据库等操作)的用户.因此,假如你但愿mSQL服务程序以database这个用户运行,指定admin这个用户能履行数据库操作,你要将mSQL—User和Admin—User所在的行辨别改成:mSQL—User = database和Admin—User = admin.别的你还必须将Hughes目录下的文件和目录的属主改成database.在配置完成后,注销当前用户的身份,重新以msql.conf的参数 mSQL—User设定的用户登录到系统,进入/usr/local/Hughes/bin目录键入以下的号令:./msql2d &,这样就启动了mSQL数据库系统.至于带源码的安装软件,看一看README和INSTALL这些文件普通就可以顺利安装完成.
为了将mSQL集成到用户的利用程序中去,mSQL数据库系统为用户供应了一个C语言的API库和一个注释器:w3—msql,通过C语言的API库,你可以将mSQL集成到用尺度C语言开辟的利用程序中去.而有了w3—msql这个工具,你可以通过编写类C语言脚本语言将mSQL数据库嵌入到HTML文件中,下面举一程序实例举行阐明.
下面的程序片段要完成的功效是将浏览器页面上提交上来的用户名和口令与表registered—user中的用户名和口令相对比,假如用户名和口令精确,将在页面上显示注册成功的信息,不然提醒用户注册失利.采取C语言实现的办法以下所示:
void main(int argc, char ?argv[])
{
//解析用户提交上来的用户名和口令并保存到变量username和password—usr中
…
//成立与本机的mSQL数据库系统的套接字
sock=msqlConnect(NULL);
//挑选数据库test
if (msqlSelectDB(sock,″test″)==-1)
{
//输出数据库挑选失利信息
…
} else
{
sprintf(buff,″select ? from registered—user where username=′%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;
}
以上的例子包含有将mSQL集成到C语言程序顶用到的主要函数,这些函数基本能满意利用程序的需求.假如采取w3—msql能注释的类C语言嵌入到html文件中,可以到达一样的功效.与C语言编写的CGI程序需求编译差别,脚本语言不需求编译,该脚本由mSQL数据库系统供应的CGI程序w3—msql来注释履行.脚本中主要的代码段以下所示:
〈HTML〉
〈HEAD〉
〈META HTTP-EQUIV=″Content-Type″ CONTENT=″text/html;charset=iso-8859-1″〉
〈/HEAD〉
〈body TEXT=″#000000″ BACKGROUND=″/icon/back.jpg″ topmargin=″10″〉
〈!
//解析用户提交上来的用户名和口令并
保存到变量username和password—usr中
…
//成立与本机的mSQL数据库系统的套接字
$sock = msqlConnect();
//挑选数据库test
if (msqlSelectDB($sock,″test″)==-1)
{
//输出数据库挑选失利信息
fatal(″错误 : 无法与数据库衔接n″);
} else
{
$buff = ″ select ? from registered—user where username=′$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下以mSQL数据库系统作为后台数据库开辟利用系统的办法.有了这些基本的办法,我们就可以开辟出各种基于mSQL数据库的利用系统.
以上是“Linux下mSQL数据库开辟技术[MySQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |
评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论