您的位置:首页 > 数据库 > MySQL

MySQL相关的基本概念

2012-07-19 11:00 489 查看
数据(data):是数据库中存储的基本对象。

数据库(database):数据库是长时期存储在计算机中的有组织的,可共享的大量数据的集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的数据冗余、较高的数据独立性和易扩展性,并可为多种用户共享。数据库数据具有永久存储、有组织和可共享三个基本特点。数据库是存放数据的仓库,只是这个仓库是存储在计算机存储设备上的,而且是按一定的格式存储的。

数据库管理系统(DBMS):是一个专门用于实现对数据进行管理和维护的系统软件。位于应用程序与操作系统之间。

DBMS的功能:

1、数据库的建立和维护功能

2、数据定义功能

3、数据组织、存储和管理功能

4、数据操作功能

5、事务的管理和运行功能

RDBMS的核心功能:

管理存储(由存储引擎进行管理)

安全性管理(管理的是用户访问的授权)

管理元数据(数据分为元数据和数据)

事务(transactions)管理(事务就是指可以被看成一个整体的多个SQL语句,只有符合ACID测试的才可以被称作事务)

支持(并发)连接

性能优化

提供备份和(back-up)恢复(recovery)的机制

处理对数据的检索和修改的请求

数据库系统(database system):由数据库、数据库管理系统(及相关的实用工具)、应用程序、数据库管理员组成。

数据库模型;

层次模型:一个子节点只能有一个父节点,数据库结果与应用程序耦合度很高。

网状模型:一个子节点可以有多个父节点,一个父节点也可以有多个子节点,数据库结果与应用程序耦合度很高。

关系型数据库模型:是由IBM的研究员codd在上个世纪70年代发表了一篇论文,而后被Larry Erison发展成为现在的Oracle。

(下面无特别说明,就是指的关系型数据库)

关系型模型中的对象:





数据库(一个数据库称为一个schema)

视图(视图是虚表,是被存储下来的SELECT语句)

触发器

索引(是可以加速查询操作的工具,但会减慢写操作)

存储过程、存储函数(这两个统称为存储例程)

游标

用户

事件调度器

SQL:Structure Query Language,结构化查询语言

SQL是一种操作接口,也是一种解释型编程语言,主要用于实现应用程序与数据库中的数据进行交互。

关系型数据库中的基本命令:

DDL:数据定义语言

用于创建数据库对象

CREATE 创建

ALTER 插入

DROP 删除

DML:数据操纵语言

用于管理数据表中的数据

INSERT,REPLACE 插入

DELECTE 删除

SELECT 查看,选择

UPDATE 更新

DCL:数据控制语言

用于管理数据权限

GRANT 授权

REVOKE 收权

在关系型数据库中常用到的几种键有:

主键:(primary key)

不能为空(即Not NULL)

不能有相同值

唯一的标识表中每一个字段

一张表只能有一个主键

外键(foreign key)

在两个表之间建立关联关系

唯一性约束/键(unique key)

允许为空

如果有值,则值不能相同

一个表中可以有多个唯一键

ANSI Standard 的三个级别:

Entry

Intermediate

Full

MySQL特征:

支持完全多线程和查询缓存

可靠、并具有可伸缩性

容易安装部署

方便快捷移植能力

支持多用户,每一个用户用一个单独的线程来响应

国际化的支持能力

支持广泛的编程语言

开源(遵循GPL规范)

Mysql的发展历史及增加的新功能:





MySQL的逻辑结构:

当客户端发起请求时,连接/线程处理会生成一个线程响应用户;此时会先查询缓存,如果缓存中有就直接响应用户;如果缓存中没有就请请求给分析器,查询分析、获取访问对象权限,然后交给优化器分析SQL语句,并将结果缓存至缓存;最后将结果返回给用户。

MySQL如何完成初始化:

(1)在Linux系统上:MySQL在查找配置文件时会依次查找下面这五个文件:

/etc/my.cnf
/etc/mysql/my.cnf
$MYSQL_HOME/my.cnf
/path/to/file when defaults-extra-file=/path/to/file is specified
~/.my.cnf


(2)在Windows系统上:MySQL在查找配置文件时会依次查找下面这五个文件:

%WINDIR%\my.ini, %WINDIR%\my.cnf(eg. C:\my.ini, C:\my.cnf)
%INSTALLDIR%\my.ini, %INSTALLDIR%\my.cnf
/path/to/file when defaults-extra-file=/path/to/file is specified

注意:当一个参数在多个文件中被定义时,以最后找到的为准。

MySQL的初始账号:

(1)所有的初始账号是没有密码的

(2)包含3个root账号:root@localhost,root@127.0.0.1,,root@localhost.localdomain,root@::1

(3)包含2个匿名账号:‘’@localhost‘’@localhost.localdomain



为了安全,需要给root账号添加密码,并删除匿名账号:

(1)给root账号添加密码的方法有:

方法一:
//当账号密码为空时,直接添加新密码
# mysqladmin -u root password ’new-password’
//为指定的主机名,添加密码
# mysqladmin -u root -h host_name password ’new-password’


方法二:
mysql> SET PASSWORD FOR 'root'@'host_name' = PASSWORD(’new_password‘);
或者使用 mysql> UPDATE mysql.user SET password = PASSWORD(’new_password’) WHERE user = ’root’ and host='host_name';

mysql> FLUSH PRIVILEGES;  //注意:此时是为了重读授权表,让设置的密码立即生效





(2)删除匿名用户和主机为IPv6地址的用户:

mysql> DROP USER ’’@localhost;
为了保证成功删除,可以使用下面这条命令查看一下:
mysql> SELECT user,host,password FROM mysql.user WHERE user=’’;





本文出自 “蝴蝶梦” 博客,请务必保留此出处http://smile2013.blog.51cto.com/4373510/935060
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: