网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > 数据库技术 > 其它数据库 > Linux下mySQL数据库开发技术  

Linux下mySQL数据库开发技术

2006-06-12  作者:bitsCN整理  来源:中国网管联盟  点评 投稿 收藏

  首先,到站点注册后就能免费下载该软件的最新版本。mSQL的安装相当简单,二进制版本(针对某一个硬件平台编译后的软件)的安装只是将文件展开到用户某一目录下然后配置几个参数就可以。例如你下载的文件为:mSQL-2.0.3.tar.gz,你想把mSQL安装到/usr/local目录下,这时,我们需要先将这个文件拷贝到/usr/local这个目录,然后键入命令tarzxvfmSQL-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这些文件一般就能顺利安装完成。

网管下载dl.bitscn.com

  为了将mSQL集成到用户的应用程序中去,mSQL数据库系统为用户提供了一个C语言的API库和一个解释器:w3—msql,通过C语言的API库,你可以将mSQL集成到用标准C语言开发的应用程序中去。而有了w3—msql这个工具,你可以通过编写类C语言脚本语言将mSQL数据库嵌入到html文件中,下面举一程序实例进行说明。

网管u家u.bitsCN.com

  下面的程序片段要完成的功能是将浏览器页面上提交上来的用户名和口令与表registered—user中的用户名和口令相比较,如果用户名和口令正确,将在页面上显示注册成功的信息,否则提示用户注册失败。采用C语言实现的方法如下所示: 网管网www_bitscn_com

  void main(int argc, char argv)

网管网www_bitscn_com

  //解析用户提交上来的用户名和口令并保存到变量username和password—usr中

网管下载dl.bitscn.com

  …

网管u家u.bitscn@com

  //创建与本机的mSQL数据库系统的套接字

网管u家u.bitscn@com

  sock=msqlConnect(NULL);

网管u家u.bitsCN.com

  //选择数据库test

网管网www_bitscn_com

  if (msqlSelectDB(sock,\"test\")==-1)

网管网www_bitscn_com

  //输出数据库选择失败信息 网管bitscn_com

  … 中国网管论坛bbs.bitsCN.com

  else

网管u家u.bitsCN.com

  sprintf(buff,\"select from registered—userwhereusername='%s'\",username); 网管u家u.bitscn@com

  //以username查询表registered—user中的记录 网管网www.bitscn.com

  if (msqlQuery(sock,buff)==-1)//输出查询失败的错误信息 网管bitscn_com

  …

网管论坛bbs_bitsCN_com

  //将查询结果保存到m—result类型的指针变量 res 网管联盟bitsCN_com

  res=msqlStoreResult(); 网管网www.bitscn.com

  //得到查询结果的记录数

网管网www_bitscn_com

  numrow=msqlNumRows(res); 网管联盟bitsCN_com

  if (numrow==1) 网管u家u.bitscn@com

  //得到当前记录,类型为:m_row

网管论坛bbs_bitsCN_com

  row=msqlFetchRow(res);

网管bitscn_com

  //将保存在表中的口令和用户输入的口令相比较

网管u家u.bitscn@com

  if (!strcmp(password_ur,row2))

网管网www_bitscn_com

  //输出注册成功信息

网管下载dl.bitscn.com

  else

网管u家u.bitscn@com

  //输出口令不对的提示信息 网管论坛bbs_bitsCN_com

  else 网管联盟bitsCN_com

  //输出用户名输入出错信息 网管网www.bitscn.com

  //释放查询结果的指针 网管论坛bbs_bitsCN_com

  msqlFreeResult(res);

中国网管论坛bbs.bitsCN.com

  //关闭数据库系统的套接字 网管u家u.bitscn@com

  msqlClose(sock); 网管下载dl.bitscn.com

  return; 中国网管联盟bitsCN.com

  以上的例子包含有将mSQL集成到C语言程序中用到的主要函数,这些函数基本能满足应用程序的需要。如果采用w3—msql能解释的类C语言嵌入到html文件中,可以达到同样的功能。与C语言编写的CGI程序需要编译不同,脚本语言不需要编译,该脚本由mSQL数据库系统提供的CGI程序w3—msql来解释执行。脚本中主要的代码段如下所示: 网管网www_bitscn_com

  <HTML> 网管联盟bitsCN@com

  <HEAD>

网管网www.bitscn.com

  <META http-equiv=\"Content-Type\" CONTENT=\"text/html; charset=iso-8859-1\"> 网管联盟bitsCN@com

  </HEAD>

网管u家u.bitsCN.com

  <body TEXT=\"#000000\" BACKGROUND=\"/icon/back.jpg\" topmargin=\"10\"> 网管u家u.bitsCN.com

  <! 中国网管论坛bbs.bitsCN.com

  //解析用户提交上来的用户名和口令并 网管bitscn_com

  保存到变量username和password—usr中

网管联盟bitsCN@com

  … 网管u家u.bitsCN.com

  //创建与本机的mSQL数据库系统的套接字

中国网管联盟bitsCN.com

  $sock = msqlConnect();

中国网管论坛bbs.bitsCN.com

  //选择数据库test

网管下载dl.bitscn.com

  if (msqlSelectDB($sock,\"test\")==-1)

网管网www_bitscn_com

  //输出数据库选择失败信息

网管联盟bitsCN_com

  fatal(\"错误 : 无法与数据库连接n\");

中国网管联盟bitsCN.com

  else

中国网管论坛bbs.bitsCN.com

  $buff = \" select from registered—user whereusername='$username'\"; 网管网www.bitscn.com

  //以username查询表registered—user中的记录 网管下载dl.bitscn.com

  if (msqlQuery($sock,$buff)==-1) 网管论坛bbs_bitsCN_com

  //输出查询失败的错误信息

网管bitscn_com

  fatal(\"查询错误n\");

网管网www_bitscn_com

  //将查询出来的结果保存到查询结果的指针变量res中

网管bitscn_com

  $res=msqlStoreResult();

网管u家u.bitscn@com

  //得到查询结果的记录数目 网管下载dl.bitscn.com

  $numrow=msqlNumRows($res);

网管u家u.bitsCN.com

  if ($numrow==1) 网管论坛bbs_bitsCN_com

  //得到当前记录的指针

网管下载dl.bitscn.com

  $row=msqlFetchRow($res); 网管下载dl.bitscn.com

  //将保存在表中的口令和用户输入的口令相比较 网管联盟bitsCN@com

  if (!strcmp($password—ur,$row2))

网管u家u.bitscn@com

  //输出注册成功信息

网管网www.bitscn.com

  echo(\"<center>注册成功</center>\");

网管网www_bitscn_com

  else//输出口令不对的提示信息

网管bitscn_com

  echo(\"<center>您输入的口令不正确</center>\");

网管下载dl.bitscn.com

  else 中国网管论坛bbs.bitsCN.com

  //输出用户名输入出错信息 网管u家u.bitsCN.com

  echo(\"<center>您输入的用户名不正确</center>\"); 网管下载dl.bitscn.com

  //释放查询结果占用的内存

中国网管联盟bitsCN.com

  msqlFreeResult($res); 网管bitscn_com

  //关闭数据库系统的套接字

网管网www.bitscn.com

  msqlClose($sock);

网管下载dl.bitscn.com

  > 网管联盟bitsCN_com

  </BODY> 网管论坛bbs_bitsCN_com

  </HTML>

网管论坛bbs_bitsCN_com

  以上介绍了在Linux下以mSQL数据库系统作为后台数据库开发应用系统的方法。有了这些基本的方法,我们就能开发出各种基于mSQL数据库的应用系统。 中国网管论坛bbs.bitsCN.com


TAGs   数据库   //   mSQL   用户   <   口令   查询   信息   系统   输出   res      
 上一篇:Linux下缓存服务器的应用   下一篇:在Red Hat 7.0上安装和配置PostgreSQL
Linux下mySQL数据库开发技术 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
最新推荐文章:
网管论坛交流: