分享
 
 
 

学习使用数据库MySQL

王朝mysql·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

[摘要]: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不支持事务处理,但是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语言接口可以很容易的弥补。

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/mysqld的MySQL服务器脚本。

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

%safe_mysqld –user=mysql &

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

%mysqladmin shutdown

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

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

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 –howto

mysqlaccess的使用方法相当简单:

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

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 Server的bcp工具。它是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之后,你可以查看表,但是不能更新表。

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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有