Mysql的数据库的原理及安装和应用 - 图文

更新时间:2023-09-18 20:59:01 阅读量: 幼儿教育 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Mysql的数据库的原理及安装和应用

Mysql的数据库的原理及安装和应用

第一部分:mysql的原理 mysql执行流程:

mysql是一个单进程的服务,对于每一个请求都是用线程来响应的,这就需要一个连接器来处理新用户的请求,响应,销毁。

1、客户端请求,服务器端(连接器)开辟线程响应用户 2、用户发起SQL语句查询数据库

3、查询缓存:记录用户的SQL查询语句,如果再次查询同样内容,就返回缓存 4、如果缓存没有进入分析器:(分析器也可能借签缓存) 语法分析器:用户命令语法是否正确

词法分析器:将用户的命令进行切片,一个词一个词用空格隔开,获得用户要查询的表,内容,用户的权限等

5、优化:执行路径的选择,生成执行树

每个SQL语句都有很多执行路径,优化的目的就是在这些执行路径里选择一个最优的执行路径

6、存储引擎:用于管理存储在文件系统,甚至是裸设备上的数据管理程序,它本身给上层应用提供不同的管理,有的支持事务,有的不支持事务。

数据库对象:

逻辑对象:表,二维关系、索引、视图、触发器、存储过程、存储函数、事件調读器、游标、用户。

物理对象:数据管理组件(元数据)、存储引擎、 存储为物理文件。 数据库管理系统的基本功能:

管理存储(maintaining storage)(存储引擎进行管理) 安全管理(maintaining security) 元数据管理(managing metadata) 事务管理(managing transaction) ACID(原子性、一致性、隔离性、持久性) 可以被看作一个整体的多个SQL语句 连接管理(supporting connectivity) 性能优化(optimizing performance)

备份和还原机制(providing back-up and recovery mechanisms)

响应数据查询/修改请求(processing requests for data retrieval and modification) 存储引擎:将数据存储下来的中间层,

MyISAM、InnoDB、NDB、Arcglve、Federated、Memory、Merge:合并,多表合并成一个

rawdevice:裸设备,没有格式化 键

主键:(primary key) 非空(Not NULL) 不能有相同值

一个表只能有一个主键 外键:(foreign key)

表与表之间建立约束,不存在的不可建立约束 外键约束又叫引用型约束 唯一性约束:(unique key) 可以为空(NULL) 若不为空,则值不能相同 一个表可以有多个 日志文件:

Redo(重做日志、Undo、Data、Index、Binary、Error、Query、Slow(慢查日志,重要)

数据存储格式: Binary、ASCII

数据类型(data type): 整数型:

字符型:

日期时间型:

字符型的特殊类型(MySQL内置的类型):

enum 枚举型,事先定义,最多定义65535个,但最多可以取一个 set 集合型,也需事先定义,最多定义64个,可取多个

第二部分:mysql的安装 安装方式:

1、 rpm包的直接安装 2、 源代码编译安装

3、 绿色软件(解压直接使用)

我在这里给大家带来的是第二、源代码编译安装mysql。根据下面的步骤一步一步的操作。

1、准备数据存放的文件系统

分区8e。

使用命令echo创建分区、记住一定要是逻辑

[root@localhost ~]# partprobe /dev/sda 识别分区 [root@localhost ~]# pvcreate /dev/sda6 创建物理卷 [root@localhost ~]# vgcreate myvg /dev/sda5 创建卷组 [root@localhost ~]# lvcreate -L 2G -n mylv myvg 在创建逻辑卷 [root@localhost ~]# mke2fs -j /dev/myvg/mylv 格式化 [root@localhost ~]# mkdir /mydata 创建目录

[root@localhost ~]# vim /etc/fstab 编辑开机自动挂载文件 在文件中写下光标所在的那行:

[root@localhost ~]# mount /dev/myvg/mylv /mydata 挂载至 [root@localhost ~]# mkdir /mydata/data 在创建mydata子目录

2、新建用户以安全方式运行进程: # groupadd -r mysql 创建用户组

# useradd -g mysql -r -s /sbin/nologin -M -d /mydata/data mysql 创建用户 # chown -R mysql:mysql /mydata/data 把/mydata/data 目录属主属组改为myqsl

3、安装并初始化mysql-5.5.19

首先下载平台对应的mysql版本至本地,我这里是32位平台,因此,我在这选择的为mysql-5.5.19-linux2.6-i686.tar.gz。具体下载就不给出步骤。

# tar xvf mysql-5.5.19-linux2.6-i686.tar.gz -C /usr/local 解压至/usr/local 目录 # cd /usr/local/ 切换至目录

# ln -sv mysql-5.5.19-linux2.6-i686 mysql 创建软链接 # cd mysql 切换至目录

# chown -R mysql:mysql ./ 改属主属组 .

# scripts/mysql_install_db --user=mysql --datadir=/mydata/data 初始化mysql

# chown -R root ./ . 把属主改回root

[root@localhost mysql]# ./scripts/mysql_install_db –help 查看帮助信息

4、为mysql提供主配置文件:

[root@localhost mysql]# cd support-files/ 切换至目录

[root@localhost support-files]# cp my-large.cnf /etc/my.cnf 复制并改名配置文件至/etc 下;

[root@localhost support-files]# vim /etc/my.cnf 打开配置文件

并修改此文件中thread_concurrency的值为你的CPU个数乘以2,另外还需要添加如下行指定mysql数据文件的存放位置;使用如下行:

(无法识别,无法识别

usb设备怎么办?http://www.woaidiannao.com/html/xwzx/6604.html)

5、为mysql提供sysv服务脚本:

# cd /usr/local/mysql 切换至目录

# cp support-files/mysql.server /etc/rc.d/init.d/mysqld 复制服务脚本并改名为mysqld至/etc/rc.d/init.d/mysqld

添加至服务列表:

# chkconfig --add mysqld 加入服务 # chkconfig mysqld on 开启mysql

而后就可以启动服务测试使用了。 # service mysqld start

为了使用mysql的安装更全面,我下面的步骤将其开发组件导出给系统使用; 如下步骤:

6、输出mysql的man手册至man命令的查找路径:

编辑 vim /etc/man.config,添加如下行即可:

本文来源:https://www.bwwdw.com/article/0m8h.html

Top