数据的组织结构
层次型
网状型
关系型
使用DBMS的优点
1,数据管理独立性;
2,有效的完成数据存取;
3,保证数据完整性和安全性;
4,数据的集中管理;
5,并发存储与故障恢复;
6,减少应用程序开发时间;
数据库管理系统(DBMS)设计的目标
为了解决:
1,数据的冗余和不一致;
2,数据访问困难;
3,数据孤立;
4,数据完整性问题;
5,数据原子性问题;
6,并发访问问题;
7,安全性问题;
DBMS的组件
1,分析器;
2,计划执行器;
3,优化器;
4,文件的存取方法;
5,缓存器;
6,磁盘空间管理器;
7,故障恢复管理器;
8,事务管理器;
9,锁管理器;
RDMBS:Relational Database Management System,关系型数据库系统,主要完成的操作有:
1,数据库创建、删除和修改;
2,表的创建、删除和修改;
3,索引的创建和删除;
4,用户和权限的管理;
5,数据的增删改;
6,数据查询;
常见的RDBMS软件:egreSQL,Oracle,Sybase,Infomix,SQL Server,MySQL,PostgreSQL,pgSQL,EnterpriseDB,DB2,PerconaSQL;
常见的NoSQL(非关系型数据库):MongoDB,Redis,HBase;
事务:是数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成;一个数据库事务通常包含了一个序列的对数据库的读和写操作;
事务的四个特性(ACID)
1,原子性(Atomicity):事务被作为一个整体执行,包含在其中的对数据库的操作要么全部执行,要么都不执行;事务在执行过程中发生错误,会被回滚到事务开始前的状态,就像这个事务从来没有执行过一样。
2,一致性(Consistency):在事务开始之前和事务结束之后,数据库的完整性没有被破坏;这表示写入的资料必须完全符合所有的默认规则,包括资料的精确度、串联性以及后续数据可以自发性地完成预定的工作;
3,隔离性(Isolation):两个或多个事务并发访问(查询和修改)数据库的同一个数据时所表现出来的相互关系,即一个事务的执行不应影响其他事务的执行;事务隔离分为未提交、读提交、可重复读和串行化几个级别;
4,持久性(Durability):在事务完成后,该事务对数据库所作的更改便持久且完全的保存在数据库中;
关系型数据库的对象
1,库
2,表
3,视图
4,索引
5,事务
6,用户
7,存储过程
8,存储函数
9,触发器
10,游标
11,事件调度器
存储引擎:将逻辑层的操作转换为物理机制,并负责完成物理层上的操作;
MySQL常用的存储引擎:MyISAM,InnoDB;
MySQL:MySQL是一个关系型数据库系统,由MySQL AB公司开发,先手被Sun和Oracle收购,是目前最为流行的RDBMS之一;
官方站点:http://www.mysql.com/;
MySQL的官方下载地址:http://dev.mysql.com/downloads/mysql/;
MySQL搜狐镜像的下载地址:http://mirrors.sohu.com/mysql/;
MySQL community相关软件的说明
MySQL Community Server mysql客户端和服务器整合起来的核心包;
MySQL Cluster 提供Mysql集群功能的程序包,但其极少使用;
MySQL Workbench 辅助设计mysql数据库的程序,如几张表,哪些字段等;
MySQL Utilities MySQL工具组件,主要用于管理和维护MySQL;
MySQL Proxy MySQL的中间件,代理接收发往MySQL数据库的请求,将需要求路由至不同的后端主机上去;
MySQL Connectors MySQL的连接器,程序连接MySQL的驱动;
MySQL Benchmark Tool 对MySQL进行压力测试的工具;
MySQL rpm包的功能
mysql.i386 mysql的客户端;
mysql-server.i386 mysql的服务器端;
mysql-connector-odbc.i386 mysql的链接器;
mysql-test mysql的测试组件;
mysql-bench mysql的性能测试组件;
php5-mysql php访问mysql的驱动;
MySQL的安装方式(Linux系统)
1,源码编译安装;
2,通用二进制格式的程序;
3,rpm包安装;
MySQL的配置文件:my.cnf,该文件是集中式的多段配置文件,通常放在/etc/目录下,
[mysqld] 该段是对MySQL服务器的配置;
[mysql] 为客户端程序提供配置;
[client] 客户端和服务器工具的通用配置,包括mysqldump,mysqladmin等等;
注意:1,MySQL的配置文件可以存放在多个位置,将所有找到的配置文件参数合并后生效,如果有重复的参数,后找到的参数生效;
2,配置文件的读取顺序:/etc/my.cnf,/etc/mysql/my.cnf,$MYSQL_BASE/my.cnf,~/.my.cnf;
MySQL的程序
服务器程序:mysqld;
客户端程序:mysql;
MySQL的数据目录(datadir)
二进制安装:/usr/local/mysql/data;
rpm包安装:/var/lib/mysql;
建议将数据目录存放在lv上,以便于容量的扩展;
MySQL监听端口:3306/tcp;
使用通用二进制格式的MySQL
二进制程序下载地址:http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.19-linux-glibc2.5-i686.tar.gz;
为mysql准备数据目录:/mysql/data;
1,创建mysql使用的系统用户和组 ;
groupadd -r -g 306 mysql
useradd -g 306 -u 306 -r mysql
2,将程序包解压,并为其创建链接;
tar xf /mysql-5.6.19-linux-glibc2.5-i686.tar.gz -C /usr/local/
ln -s mysql-5.6.19-linux-glibc2.5-i686 mysql
3,修改mysql程序目录和数据目录的权限;
chown -R root.mysql /usr/local/mysql/*
chown -R mysql.mysql /mysql/data
4,初始化mysql;
cd /usr/local/mysql
scripts/mysql_install_db --user=mysql --datadir=/mysql/data
5,为mysql提供服务脚本;
cp support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
6,为mysql提供配置文件;
cp support-files/my-default.cnf /etc/my.cnf 如果有旧的配置文件,请先备份;
7,修改配置文件:vim /etc/my.cnf
basedir = /usr/local/mysql mysql工作目录
datadir = /mysql/data mysql数据目录
保存退出;
8,修改系统PATH变量;
vim /etc/profile.d/path.sh
写入:export PATH=$PATH:/usr/local/mysql/bin
保存退出;
source /etc/profile
9,将man文件档添加至man pages;
vim /etc/man.config
MANPATH /usr/local/mysql/man
保存退出;
10,将mysql的lib目录添加至系统;
vim /etc/ld.so.conf.d/mysql.conf
写入:/usr/local/mysql/lib
保存退出;
ldconfig
11,输出mysql的头文件;
ln -s /usr/local/mysql/include /usr/include/mysql
12,启动mysql;
service mysqld start
13,查看mysql是否正常监听端口;
netstat -tlunp | grep 3306
声明:本文为学习笔记,内容参考多方资料,如涉及版权问题,请告知本人,谢谢!
本文出自 “AD” 博客,转载请与作者联系!