l 可升级性。
MySQL能够同时处理无限数量的拥护和5亿个纪录
l 简单性。
MySQL的核心是一个小而快速的
数据库,面向那些了解
数据库工作的人员,是他们能够有效的工作和编写高级功能。
l 价值:
MySQL是遵循GPL协议的自由软件,你可以下载并且使用它。
l 可移植性。因为
MySQL是开放源代码的自由软件,可以运行于所有的平台,如果不能运行于你的平台,你可以修改、编译源代码。
MySQL所保护的都是基于权限的,不是基于市场的。
MySQL能做什么和不能做什么是我们在使用之前需要清楚的。
l 图形界面:
MySQL开始提供类似MS SQL Server的界面,尚处于测试中
l 事务处理:
MySQL不支持事务处理,但是2000年5月9日的发行说明中,
MySQL宣称版本3.23.15“试验性支持”Sleepy Software的Berkely DB
数据库。版本3.23.25完全实现了这一个功能。
l 存储过程:
MySQL没有存储过程机制。
MySQL开发团体的“to do”列表中有一种存储过程机制,它将包含在版本4中。
l 触发器:触发器是一种程序,通常存在于一种嵌入式脚本语言如Zend或者Python中。有消息说这种触发器会应用于版本4中,使用Zend脚本引擎。
l 参照完整性:将来支持
l 记录等级锁定:
MySQL不支持记录等级锁定。将来会改善,这都是开放源代码的力量。
l 子查询:
MySQL不支持子查询。但是通过它提供的C语言接口可以很容易的弥补。
很清楚地看到
MySQL对于转向Linux的平台应用的将来的意义。
这里只讨论在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
#rpm –e –vv
MySQL-3.23.25-1
#rpm –e –vv
MySQL-client-3.23.25-1
更改
mysqladmin口令:为了增强安全性,需要为
mysql的根用户改变口令,这可以通过下面的两个命令来完成
%
mysqladmin –u root –p password ‘new-password’
或者
%
mysqladmin –u root –h servername –p password ‘new-password’
如果由于某些原因,你需要启动
MySQL dameon,是用如下命令
要关闭
MySQL服务器dameon,发送入下命令:
1. isamchk:查看和修理被毁坏的表
如果由于某些未知的原因,是
数据库表被毁坏,这个工具能够对它进行修补。容纳基本数据的数据文件叫做索引顺序存取法(Index Sequential Access Method,ISAM)文件。
MySQL在3.23和更高版本中将MyISAM文件格式作为了默认选项。需要使用myisamchk工具,而不是isamchk。ISAM表结构被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 [host [user [db]]] OPTIONS.。如果没有提供选项,那么就必须提供user和db。如果没有指定主机,则用本地服务器。
这个命令的常规用法如下:
mysqladmin [OPTION] command,选项是标准的Unix命令方式:-v用于详细说明,-t=XX指连接到服务器的超时时间。使用命令
%
mysqladmin -?| more可以看到所有的列表。Command部分用于规则的条件。现免得列表中是常用的command
|
命令 |
说明 |
|
Create db_name |
|
|
Drop db_name |
|
|
Flush-logs |
清除所有日志 |
|
Flush-privileges或者reload |
重载授权表,或者执行相同操作的命令 |
|
Ping |
|
|
Shutdown |
|
|
Status |
查看服务器的状态 |
这是一个用于备份、移植或者重载
数据库的工具。命令用法有以下两种:
%
mysqldump [OPTIONS] database [tables]
或者
%
mysqldump [OPTIONS]。在使用第二种方法时,你必须提供-databases或者—all-databases选项
这是
MySQL的大量输入工具,它类似于MS SQL Server的bcp工具。它是LOAD DATA语句的命令行接口,用法如下:
%
mysqlimport [OPTIONS] db_name file_name
mysqlshow 给出了关于
数据库、表或者列的信息,它是show语句的命令行接口
用法:
%
mysqlshow [OPTIONS] [database_name [table_name [column]]]
8. myisampack
myisampack可以把一个MyISAM表压缩到一个相对小的空间。他有点象gzip,只是它运行于表中。它运行于.MYD文件,并且把它压缩到一个很小的尺寸。运行myisampack之后,你可以查看表,但是不能更新表。