数据库

本类阅读TOP10

·SQL语句导入导出大全
·SQL Server日期计算
·SQL语句导入导出大全
·SQL to Excel 的应用
·Oracle中password file的作用及说明
·MS SQLServer OLEDB分布式事务无法启动的一般解决方案
·sqlserver2000数据库置疑的解决方法
·一个比较实用的大数据量分页存储过程
·如何在正运行 SQL Server 7.0 的服务器之间传输登录和密码
·SQL中两台服务器间使用连接服务器

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
学习使用数据库MySQL

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

[摘要]:MySQL是一个遵循GPL的开源软件、在Linux平台底下它是LAMP(LAMP 在英语中是“灯”的意思,但是在 IT 行业当然不是那么简单的一个意思了。这个术语在德国十分流行。代表了 Linux 平台上的 Apache 网站服务器;MySQL 数据库以及 Perl 、Python 或者 PHP 编程语言的结合)组合重要组成部分。同时它提供的C API可以结合Glade/GTK+,可以代替Windows平台的VB+ACCESS/MS SQL SERVER组合。本篇文章介绍数据库MySQL及其各种工具的简单用法.

一、为什么使用MySQL:MySQL是一种高性能的数据库,因为如下原因。它可以和市场下任何同类的产品竞争。

l         速度。MySQL本身并不复杂。http://www.mysql.com/information/crash-me.php上可以找到MySQL和其他数据库产品进行竞争的数据的相关信息

l         可升级性。MySQL能够同时处理无限数量的拥护和5亿个纪录

l         简单性。MySQL的核心是一个小而快速的数据库,面向那些了解数据库工作的人员,是他们能够有效的工作和编写高级功能。

l         价值:MySQL是遵循GPL协议的自由软件,你可以下载并且使用它。

l         可移植性。因为MySQL是开放源代码的自由软件,可以运行于所有的平台,如果不能运行于你的平台,你可以修改、编译源代码。

二、MySQL缺少什么

  MySQL所保护的都是基于权限的,不是基于市场的。MySQL能做什么和不能做什么是我们在使用之前需要清楚的。

l         图形界面:MySQL开始提供类似MS SQL Server的界面,尚处于测试中

l         事务处理:MySQL不支持事务处理,但是200059日的发行说明中,MySQL宣称版本3.23.15“试验性支持”Sleepy SoftwareBerkely DB数据库。版本3.23.25完全实现了这一个功能。

l         存储过程:MySQL没有存储过程机制。MySQL开发团体的“to do”列表中有一种存储过程机制,它将包含在版本4中。

l         触发器:触发器是一种程序,通常存在于一种嵌入式脚本语言如Zend或者Python中。有消息说这种触发器会应用于版本4中,使用Zend脚本引擎。

l         参照完整性:将来支持

l         记录等级锁定:MySQL不支持记录等级锁定。将来会改善,这都是开放源代码的力量。

l         子查询:MySQL不支持子查询。但是通过它提供的C语言接口可以很容易的弥补。

l         视图:MySQL不支持视图。但是它在MySQL开发团体的to do列表中。

很清楚地看到MySQL对于转向Linux的平台应用的将来的意义。

三、MySQL数据库系统的安装

这里只讨论在Linux系统下的MySQL数据库系统的安装,可以通过RPM包安装和tar包安装,这里只讨论RPM方式安装Binary

通过RPM包安装,你需要下面三个文件:

1、  MySQL-3.23.25-1.i386.rpm这是一个服务器部分。它包含接受请求和返回结果的实际数据库服务器

2、  MySQL-client-3.23.25-1.i386.rpm这是客户端部分。

3、  MySQL-devel-3.23.25-1.i386.rpm.从这个文件中,你需要一个C API文件。

安装过程如下:首先安装服务器部分,然后安装客户端部分,最后需要安装C程序开发需要的文件。

1、  安装服务器:

键入如下命令:#rpm –ivh MySQL-3.23.25-1.i386.rpm

2、  安装客户端

键入如下命令:#rpm –ivh MySQL-client-3.23.25-1.i386.rpm

4、  安装C开发文件

键入如下命令:#rpm –ivh MySQL-devel-3.23.25-1.i386.rpm

5、  卸载MySQL: 首先需要关闭服务器

#mysqladmin shutdown

#rpm –e –vv MySQL-3.23.25-1

#rpm –e –vv MySQL-client-3.23.25-1

6、  安装账号管理MySQL服务器:RPM安装。Mysql用户账号会自动创建。这是一个用来运行MySQL的服务的用户。

更改mysqladmin口令:为了增强安全性,需要为mysql的根用户改变口令,这可以通过下面的两个命令来完成

%mysqladmin –u root –p password ‘new-password’

或者

%mysqladmin –u root –h servername –p password ‘new-password’

四、启动和停止MySQL服务器Daemon

   使用RPM安装,MySQL服务器dameon自动为你启动和停止,RedHat的系统在/etc/init.d/mysqldMySQL服务器脚本。

   如果由于某些原因,你需要启动MySQL dameon,是用如下命令

  %safe_mysqld –user=mysql &

   要关闭MySQL服务器dameon,发送入下命令:

  %mysqladmin shutdown

五、应用于MySQL的工具和程序

   除了MySQL服务器(mysqld)MySQL程序组包含大量的程序,来管理数据库和数据库服务器。当通过RPM安装MySQL时,这些程序被安装。Isamchkmyisamchk是验证和重修数据库表和文件的工具。Mysqlaccess 用于授权、更改和撤销用户许可权限。Mysqladmin是一种高级管理工具,如创建数据库和关闭数据库等。Mysqldump用于在紧急关头倒出数据和备份表,它在SQL insert语句中输出数据,所使用的方法能够将输出文件反馈到MySQL服务器,并且行也将被装载。Mysqlimport是一种整体装载工具,而mysqlshow显示关于数据库对象的信息(如标)。

1.         isamchk:查看和修理被毁坏的表

如果由于某些未知的原因,是数据库表被毁坏,这个工具能够对它进行修补。容纳基本数据的数据文件叫做索引顺序存取法(Index Sequential Access Method,ISAM)文件。

MySQL3.23和更高版本中将MyISAM文件格式作为了默认选项。需要使用myisamchk工具,而不是isamchkISAM表结构被MyISAM结构替换。将来ISAM将不被支持。下面重点介绍一下MyISAM文件结构:

ISAM旧文件结构:数据库中的每一个表实际上是三个文件的组合:*.ISD文件包含数据,*.ISM文件包含关于数据结构的信息,比如密钥和索引,*.frm文件包含表的结构。

查看/var/lib/mysql/test_db/目录中发现三个文件

tb1_books_1.frm 88bytes

tb1_books_1.MYI 1024 bytes

tb1_books_1.MYD 8604 bytes

*.frm和旧的文件结构相同,*.MYI文件和*.ISM文件一致,并且*.MYD文件符合旧的*.ISD文件。

2.         myisamchk

这是MyISAM存储格式的isamchk的更新版本工具,它的基本用法如下所示:

myisamchk [OPTIONS] tables..MYI

利用如下命令可以得到你的系统中可以使用的全部选项列表

 

3.         mysqlaccess这个工具最值得讨论的就是-howto命令行,当你执行一下命令的时候,你就得到一个如何使用这个工具的例子:

%mysqlaccess –howto

mysqlaccess的使用方法相当简单:

mysqlaccess [host [user [db]]] OPTIONS.。如果没有提供选项,那么就必须提供userdb。如果没有指定主机,则用本地服务器。

4.         mysqladmin

这个命令的常规用法如下:

mysqladmin [OPTION] command,选项是标准的Unix命令方式:-v用于详细说明,-t=XX指连接到服务器的超时时间。使用命令

%mysqladmin -?| more可以看到所有的列表。Command部分用于规则的条件。现免得列表中是常用的command

命令

说明

Create db_name

创建一个叫做db_name的数据库

Drop db_name

删除数据库名称

Flush-logs

清除所有日志

Flush-privileges或者reload

重载授权表,或者执行相同操作的命令

Ping

查看mysqld是否启动

Shutdown

关闭数据库

Status

查看服务器的状态

 

5.         mysqldump

这是一个用于备份、移植或者重载数据库的工具。命令用法有以下两种:

%mysqldump [OPTIONS] database [tables]

或者

%mysqldump [OPTIONS]。在使用第二种方法时,你必须提供-databases或者—all-databases选项

6.         mysqlimport

这是MySQL的大量输入工具,它类似于MS SQL Serverbcp工具。它是LOAD DATA语句的命令行接口,用法如下:

%mysqlimport [OPTIONS] db_name file_name

7.         mysqlshow

mysqlshow 给出了关于数据库、表或者列的信息,它是show语句的命令行接口

用法:

%mysqlshow [OPTIONS] [database_name [table_name [column]]]

8.         myisampack

myisampack可以把一个MyISAM表压缩到一个相对小的空间。他有点象gzip,只是它运行于表中。它运行于.MYD文件,并且把它压缩到一个很小的尺寸。运行myisampack之后,你可以查看表,但是不能更新表。

 版权所有,如需转载,请注明出处。

 




相关文章

相关软件