作者: CRYSTAL编译
在ASP时代,如果我要建立一个数据库驱动deweb站点,那么您可以选择环很多钱de微软SQL SERVER数据库或者选择要花很多时间来寻找达到性能和稳定性统一deACCESS数据库,但在.NET时代您有另一种选择,那就是:MySQL数据库
什么是MySQL数据库?
MySQL数据库是一种开放源相关代码de数据库,通过获得授权来保持源相关代码de官方支持,同时可以自由修改源相关代码,目前许多公司和组织都采用了这种数据库.对此详细信息您可以访问MySQLde官方站点.
第一步 下载和安装
与大多数软件一样,首先是得到并安装mysql数据库软件,获得Mysql数据库de方很简单,在mysql.com/downloads/index.html”>http://dev.mysql.com/downloads/index.html . 上可以自由下载,本文采用de是Mysql4.1,当然读者也可以下在其他版本,不过我要推荐给读者de是最好下载预编译de二进制de文件.我de操作平台是Windwos XP,所以我选择de是包括安装文件deWindows版,这个版本大约35M,所以下载de时间不是很长,除非您de网络有问题.
安装非常简单,按照安装步骤不会导致任何问题,如下图:
如图所示,在安装完成de最后一步,系统会问您是否要配置MySQL服务器,如果选择现在配置MySQL服务器,那么系统将自动运行MySQL实例配置向导,于是您将进入下一步.
第二步 配置
MySQL服务器实例配置向导使配置服务器变得非常简单,按照配置向导一步一步de走,绝大多数时候都选择缺省配置.
如上图,读者可以自行选择是安装在专用de数据库服务器上或是共享de服务器,由于我使用de笔记本电脑,所以我选择是最简单de”Developer Machine”,这个设置不能提供同样de性能,而且也不能使用很多系统资源
必须确保响应TCP/IP网络协议,以保证Web页载需要de时候Web服务器能连接数据库;如果您de数据库和web服务器安装在同一台服务器上,那么可以禁用这个选项以防止来自网络de访问.
MySQL服务器配置向导—设置默认字符串类型
第三步 MySQL Administrator
也许您认为可以不需要这个东西,但我还是要建议您下载并使用MySQL Administrator,它提供图形界面以帮助您管理MySQL数据库,Windows用户可以通过命令提示行运行MySQL Administrator,在余下时间里我假定您已经安装了MySQL Administrator,并且将使用相关图例.
第四步 创建数据库
要创建数据库,我必须首先连接服务器.运行MySQL Administrator并登陆服务器.
 运行MySQL Administrator并登陆服务器 |
选择MySQL Administrator左侧底部de”Catalogs”,然后在管理器de右侧会出现目前服务器上已经有de数据库目录,右击Schema窗口de”mysql“,选择”Create New Schema”.
 创建一个新de数据库 |
系统将提示您输入数据库de名称,这里我使用”mydatabase”,在本文以后也将使用这个名称.
 输入数据库名称 |
一旦创建后,新数据库就将与服务器中de其他数据库一起出现在Schema窗口,选择它后,在右侧窗口将出现它de详细资料.
完成新数据库de创建:
 新de数据库创建完成了 |
现在这里面还没有更多de东西,因为目前数据库还是空de.下面我就为数据库添加点东西.
第五步 创建表
创建表很简单,只需要点击”Create Table”按钮,于是将出现下面de对话框:
 创建表 |
如图所示,我已经给表取名为”mytable”,有四个域,其中id域为自动增量de主键、一个整数域、一个文本域和一个时间/日期域.
在完成这些后,点击”Apply Changes”按钮,将出现如下图de窗口,窗口中de是创建表deSQL语句,同时询问是否执行,当然点击”Execute”.
 确认并执行表中deSQL语句 |
到目前为止,我已经创建了一个包含名为”mytable”de表de名为”mydatabase”de数据库,下面我要做de就是为数据库添加点数据.
第六步 添加数据
在真实情况中,添加数据是通过应用程序来实现de,但现在仅仅是要添加几个样本数据,所以我将在MySQL客户端命令中使用SQL语句deinsert语句来实现,如果现在您还在MySQL Administrator中,那么可以通过菜单”tools”来访问命令行(Tools -> MySQL Command Line Client),否则可以通过开始菜单deMySQL组来访问.
 通过命令行语句来实现添加数据 |
图中de第一行是告诉服务器我将使用那个数据库,第二和第三仅仅是简单de向数据库插入数据.
现在数据表中有两个样本数据,到目前为止,我de数据库服务器已经建立并运行了,里面有一个数据库,一个数据表,一些数据.
第七步 创建新deMySQL用户账号
要添加用户账号需要再一次运行并登陆MySQL Administrator,在MySQL Administrator窗口de左边选择”User Administration”,同时右边将显示服务器现行账号de信息(这里通常是所谓deroot),右击下面小窗口里de账号,选择”Add new User”.
 再次运行MySQL Administrator,并添加一个用户帐号 |
接下来系统将提示您输入新用户de详细信息,我给新用户取名为”15secs”,口令设置为”password”.
 设置用户名、密码等常规选项 |
完成这些后,点击”Apply Changes”按钮以保存输入.
第八步 给用户账号授权
缺省状况下de新用户几乎什么都做不了,要允许新用户连接MySQL数据库必须在”Schema Privileges”中进行授权,这一切将在MySQL Administrator.中de”Schema Privileges”中完成.
 为新开帐号设置权限 |
注意上图还没有为用户进行任何授权,由于后面de相关代码需要查询数据库,故需要授予用户”select”权限,然后点击”Apply Changes”按钮保存.
进行授权:
 进行授权 |
也许应用程序需要更多de权限,如:”INSERT”, “UPDATE”, 和 “DELETE”等等,您可以用同样de方法授予给用户,但要注意de是,权限越多安全越小,您必须对每个用户都实行控制.
第九步 ASP.NET页连接数据库服务器
在.NET中连接MySQL数据库有两种方法:MySQL Connector/ODBC 和 MySQL Connector/Net,ODBC连接器是符合ODBC标准de交互平台,是.NET访问MySQL数据库de最好de选择.
下载MySQL Connector/Net,然后直接安装,如下图:
注意:我选择了register Connector/NET in the Global Assembly Cache,但我发现它已经被安装了,但我不能使用import语句,找不到Connector/NETde名称空间,直到将MySql.Data.dll文件拷贝到/bin目录下后才解决这个问题,系统报出de错误是:
BC30466: Namespace or type specified in the Imports ‘
MySql.Data.
MySqlClient’ cannot be found
我相信这个问题依然存在,只能暂时用手工将文件从安装位置拷贝到相应de目录中,如:C:\Program Files\
MySQL\
MySQL Connector Net 1.0.4\bin\.NET 1.1\,拷贝到C:\Inetpub\wwwroot\bin\,就可以解决这个问题.
第十步 示例程序 至此我de数据库终于完成,
MySQL Connector/Net也安装成功,我该做点其他什么事情了.下面我将提供一段简单de脚本,在这段脚本中,我将连接和查询数据库中de数据,输入数据不是脚本de要点.
MySQL.aspx
<%@ Page Language=”VB” debug=”true” %> <%@ Import Namespace = “System.Data” %> <%@ Import Namespace = “MySql.Data.MySqlClient” %> <script language=”VB” runat=”server”> Sub Page_Load(sender As Object, e As EventArgs) Dim myConnection As MySqlConnection Dim myDataAdapter As MySqlDataAdapter Dim myDataSet As DataSet Dim strSQL As String Dim iRecordCount As Integer myConnection = New MySqlConnection(”server=localhost; user id=15secs; password=password; database=mydatabase; pooling=false;”) strSQL = “SELECT * FROM mytable;” myDataAdapter = New MySqlDataAdapter(strSQL, myConnection) myDataSet = New Dataset() myDataAdapter.Fill(myDataSet, “mytable”) MySQLDataGrid.DataSource = myDataSet MySQLDataGrid.DataBind() End Sub </script> <html> <head> <title>Simple MySQL Database Query</title> </head> <body> <form runat=”server”> <asp:DataGrid id=”MySQLDataGrid” runat=”server” /> </form> </body> </html> |
在上面de脚本中黑体字部分将随您采用de平台不同而进行修改,如采用SQL Server应用System.Data.SQLClient来替换
MySql.Data.
MySqlClient,这只是一点,更详细de本文就不讨论了.下图是脚本运行结果:
 脚本运行结果 |
结论: 我希望本文能对读者理解数据库服务器有所帮助,当您打算从
access或SQL Server上升级de时候,
MySQL是一个不错de选择,尽管它是开放源相关代码de,而且还有些缺陷,但它与.NETde结合能做许多工作,另外
MySQL Administrator使管理数据库服务器不再是管理员de噩梦.