当前位置: 首页 > 图文教程 > 数据库 > MYSQL > Linux下MySQL数据库开发技术

MYSQL
Mysql教程:如何修改默认密码
SQL Server教程:三种导入导出数据使用方式比较
Mysql技巧:指定只监听某个特定地址的设置方法
Mysql教程:1067错误解决方法
解决Mysql 错误:cannot create windows service for
解决Mysql连接过多错误的方法
Mysql教程:数据库字符替换和replace函数的使用
Mysql教程:性能跟踪语句
Mysql教程:对MySQL中的锁机制的总结
Mysql教程:介绍TIMESTAMP时间戳的使用
Mysql教程:将txt文本中的数据轻松导入MySQL表中的方法
MySQL:小编浅谈MySQL中的Geometry类
大型门户网站架构设计的可伸缩性
MYSQL教程:缓慢的drop table 操作
优化SQL语句需要注意的4点
MySQL前途难料开源数据库下一个领袖是谁?
网站Access数据库文件更安全的3种措施
sql xml入门:xpath和xquery
QA里执行sp_attach_db出现错误1813
MySQL中文模糊检索问题解决方法

MYSQL 中的 Linux下MySQL数据库开发技术


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 93 ::
收藏到网摘: n/a

首先,到站点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数据库的应用系统。