MySQL的概念
创始人
2024-02-21 07:45:24
0

MySQL的概念

  • 一.数据库的基本概念
    • 1、数据(Data)
    • 2、表
    • 3、数据库
    • 4、数据库管理系统(DBMS)
      • 4.1 关系数据库
      • 4.2 非关系型数据库 NoSQL
    • 5、数据库系统
    • 6、访问数据库的流程
  • 二.数据库系统发展史
    • 1.第一代数据库
    • 2.第二代数据库
    • 3.第三代数据库
  • 三、当今主流数据库介绍
    • 1.SQL Server (微软公司产品)
    • 2、Oracle (甲骨文公司产品)
    • 3、DB2 (IBM公司产品)
    • 4.MySQL (甲骨文公司收购)
  • 四、关系数据库
    • 1、实体
    • 2、属性
    • 3、联系
    • 4、关系数据库
    • 5、关系数据库的应用
  • 六、非关系数据库
    • 1、非关系型数据库的优点
    • 2、常用的非关系数据库
  • 七、MySQL的介绍
    • 1 MySQL数据库介绍
    • 2、MySQL商业版与社区版
    • 3、 MySQL产品阵营
  • 八、编译安装MySQL数据库
    • 脚本一键安装部署

一.数据库的基本概念

1、数据(Data)

• 描述事物的符号记录

• 包括数字,文字,图形,图像,声音,档案记录等

• 以“记录”形式按统一的格式进行存储

2、表

• 将不同的记录组织在一起

• 用来存储具体数据

3、数据库

• 表的集合,是存储数据的仓库

• 以一定的组织方式存储的相互有关的数据集合

4、数据库管理系统(DBMS)

数据库管理系统(Database Management System,简称DBMS)是为管理数据库而设计的电脑软件系统,一般具有存储、截取、安全保障、备份等基础功能

• 是实现对数据库资源有效组织、管理和存取的系统软件

数据库管理系统主要分为以下两类:

4.1 关系数据库

​ 关系数据库是创建在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示.几乎所有的数据库管理系统都配备了一个开放式数据库连接(ODBC)驱动程序,令各个数据库之间得以互相集成。

​ 典型代表有:MySQL、Oracle、Microsoft SQL Server、Access及PostgreSQL等

4.2 非关系型数据库 NoSQL

​ 非关系型数据库是对不同于传统的关系数据库的数据库管理系统的统称。与关系数据库最大的不同点是不使用SQL作为查询语言。

​ 典型代表有:Reids、BigTable(Google)、Cassandra、MongoDB、CouchDB;

​ 还包括键值数据库:Apache Cassandra(Facebook)、LevelDB(Google)

5、数据库系统

• 是一个人机系统,由硬件、os、数据库、DBMS、应用软件和数据库用户组成

• 用户可以通过DBMS或应用程序操作数据库

结构化查询语言(Structured Query Language)简称SQL,是一种数据库查询语言。

作用:用于存取数据、查询、更新和管理关系数据库系统。

6、访问数据库的流程

在这里插入图片描述

二.数据库系统发展史

1.第一代数据库

• 自20世纪60年代起,第一代数据库系统问世

• 是层次模型与网状模型的数据库系统

• 为统一管理和共享数据提供了有力的支撑

2.第二代数据库

• 20世纪70年代,第二代数据库—关系数据库开始出现

• 20世纪80年代,IBM公司的关系数据库系统DB2问世,开始逐步取代层次与网状模型的数据库,成为行业主流

• 到目前为止,关系数据库系统仍占领数据库应用的主要地位

3.第三代数据库

• 自20世纪80年代开始,适应不同领域的新型数据库系统不断涌现

• 面向对象的数据库系统,实用性强,适应面广

• 20世纪90年代后期,形成了多种数据库系统共同支撑应用的局面

• 一些新的元素被添加进主流数据库系统中
例如,Oracle支持的 “关系-对象"数据库模型

三、当今主流数据库介绍

1.SQL Server (微软公司产品)

• 面向Windows操作系统
• 简单、易用

2、Oracle (甲骨文公司产品)

• 面向所有主流平台,
• 安全、完善,操作复杂

3、DB2 (IBM公司产品)

• 面向所有主流平台
• 大型、安全、完善

4.MySQL (甲骨文公司收购)

• 免费、开源、体积小

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。

MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。

在Java企业级开发中非常常用,因为 MySQL 是开源免费的,并且方便扩展。

四、关系数据库

• 关系数据库系统是基于关系模型的数据库系统

• 关系模型的数据结构使用简单易懂的二维数据表

• 关系模型可用简单的“实体关系”(E-R) 图来表示

• E-R图中包含了实体(数据对象)、关系和属性三个要素
在这里插入图片描述

1、实体

  • 也称为实例,对应现实世界中可区别于其它对象的“事件”或“事物”

    • 如银行客户、银行账户等

2、属性

  • 实体所具体的某一特性,一个实体可以有多个属性

    • 如“银行客户”实体集中的每个实体均具有姓名、住址、电话等属性

3、联系

  • 实体集之间的对应关系称为联系,也称为关系

    • 如银行客户和银行账户存在“储蓄”的关系

    • 所有实体及实体之间联系的集合构成一个关系数据库

    • 关系数据库的存储结构是二维表格

在每个二维表中

  • 每一行称为一条记录,用来描述一个对象的信息

  • 每一列称为一个字段,用来描述对象的一个属性

4、关系数据库

• Oracle , MySQL
• SQLServer、Sybase
• Informix、access
• DB2、FoxPRO

5、关系数据库的应用

12306用户信息系统------------Oracle,MySQL

淘宝账号系统---------------------SQLServer、Sybase

联通手机号信息系统----------- Informix、access

银行用户账号系统---------------DB2、FoxPRO

网站用户信息系统---------------PostgreSQL

六、非关系数据库

非关系数据库也被称作NoSQL (Not Only SQL)

存储数据不以关系模型为依据,不需要固定的表格式

1、非关系型数据库的优点

• 数据库可高并发读写

• 对海数据高效率存储与访问

• 数据库具有高扩展性与高可用性

2、常用的非关系数据库

Redis、mongoDB等

七、MySQL的介绍

1 MySQL数据库介绍

一款深受欢迎的开源关系型数据库

Oracle旗下的产品

遵守GPL协议,可以免费使用与修改

特点:

性能卓越、服务稳定

开源、无版权限制、成本低

多线程、多用户

基于C/S(客户端/服务器)架构

安全可靠

2、MySQL商业版与社区版

MySQL商业版是由MySQL AB公司负责开发与维护,需要付费才能使用

MySQL社区版是由分散在世界各地的MySQL开发者、爱好者一起开发与维护,可以免费使用

两者区别

商业版组织管理与测试环节更加严格,会比社区版更稳定

商业版不遵守GPL,社区版遵从GPL可以免费使用

商业版可获得7*24小时的服务,社区版则没有

3、 MySQL产品阵营

第一阵营:5.0-5.1阵营,可说是早期产品的延续

第二阵营:5.4-5.7阵营,整合了MySQL AB公司、社区和第三方公司开发的存储引擎,从而提高性能

第三阵营:6.0-7.1阵营,就是MySQL Cluster版本, 为适应新时代对数据库的集群需求而开发

下载网址:
http://www.dev.mysql.com/downloads

八、编译安装MySQL数据库

脚本一键安装部署

#!/bin/bashyum -y install gcc gcc-c++ ncurses ncurses-devel bison cmake#创建程序用户管理
useradd -s /sbin/nologin mysqlcd /opt
tar zxvf mysql-5.7.17.tar.gz -C /opt
cd /opt
tar zxvf boost_1_59_0.tar.gz -C /usr/local/
mv /usr/local/boost_1_59_0 /usr/local/boost
cd /opt/mysql-5.7.17cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8  \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=/usr/local/boost \
-DWITH_SYSTEMD=1make -j2 && make install#创建普通用户管理mysql
useradd -s /sbin/nologin mysql
chown -R mysql:mysql /usr/local/mysql/
#更改管理主/组
chown mysql:mysql /etc/my.cnf#调整配置文件echo '[client]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock[mysql]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
character_set_server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket = /usr/local/mysql/mysql.sock
bind-address = 0.0.0.0
skip-name-resolve
max_connections=2048
default-storage-engine=INNODB
max_allowed_packet=16M
server-id = 1sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES
' > /etc/my.cnf#设置环境变量
echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
source /etc/profile#初始化数据库
cd /usr/local/mysql/bin/
echo "wait..."
./mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/datacp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/#数据库开启
systemctl daemon-reload
systemctl start mysqld.service
systemctl enable mysqldyum -y install expect &> /dev/null
source /etc/profile
#设置Mysql密码
/usr/bin/expect <<-EOF
spawn mysqladmin -u root -p password  
expect {
"Enter password"
{send "\r";exp_continue}
"New password"
{send "123456\r";exp_continue}
"Confirm new password"
{send "123456\r"}
}
expect eof
EOF
echo "mysql密码为123456"

相关内容

热门资讯

消防培训心得体会 消防培训心得体会13篇  当我们受到启发,对生活有了新的感悟时,马上将其记录下来,这样可以帮助我们总...
上网课心得体会 上网课心得体会(通用10篇)  某些事情让我们心里有了一些心得后,可以将其记录在心得体会中,这样有利...
新时代师德的重要内涵心得 新时代师德的重要内涵心得(精选13篇)  心得体会是指一种读书、实践后所写的感受性文字。语言类读书心...
化学实验安全心得体会 化学实验安全心得体会(通用10篇)  心得体会是指一种读书、实践后所写的感受性文字。语言类读书心得同...
大学生社会实践心得体会150...   而作为一名还未走出校园的学生,我深知自己要学的东西有很多很多,对即将踏入的工作岗位又有着太多的陌...
心态管理培训心得与体会样本三... 心态管理培训心得与体会样本三例  篇一:心态管理培训心得与体会  入职第二天,公司的人事经理对我们新...
实习心得体会 实习心得体会(精选31篇)  当我们经过反思,对生活有了新的看法时,马上将其记录下来,它可以帮助我们...
志愿者活动心得体会 志愿者活动心得体会500字(通用6篇)  当我们经过反思,对生活有了新的看法时,马上将其记录下来,这...
教育名著读书心得 教育名著读书心得(通用29篇)  当我们积累了新的体会时,就十分有必须要写一篇心得体会,这样能够给人...
洛阳实习报告 洛阳实习报告  一段充实而忙碌的实习生活结束了,相信你积累了不少实习心得,让我们一起来学习写实习报告...
《小英雄雨来》读书笔记 《小英雄雨来》读书笔记45篇  读完一本书以后,大家心中一定是萌生了不少心得,何不写一篇读书笔记记录...
团支部个人心得体会 团支部个人心得体会范文(精选5篇)  当我们积累了新的体会时,不如来好好地做个总结,写一篇心得体会,...
劳动节活动心得体会 劳动节活动心得体会(通用5篇)  当在某些事情上我们有很深的体会时,可用写心得体会的方式将其记录下来...
护理学专业的心得体会 护理学专业的心得体会(通用13篇)  在平日里,心中难免会有一些新的想法,马上将其记录下来,这样有利...
工作心得体会感悟 工作心得体会感悟(通用18篇)  从某件事情上得到收获以后,往往会写一篇心得体会,如此就可以提升我们...
采购课程培训心得体会 采购课程培训心得体会范文(通用13篇)  我们心里有一些收获后,可以通过写心得体会的方式将其记录下来...
疫情期间做社区志愿服务心得 疫情期间做社区志愿服务心得  有了一些收获以后,写一篇心得体会,记录下来,这样可以帮助我们分析出现问...
被隔离人员心得体会 被隔离人员心得体会  我们有一些启发后,将其记录在心得体会里,让自己铭记于心,这么做可以让我们不断思...
从优秀到卓越读书心得 从优秀到卓越读书心得(通用18篇)  当阅读了一本名著后,大家心中一定有不少感悟,是时候静下心来好好...
小学生读书心得体会 小学生读书心得体会范文(精选10篇)  当我们受到启发,对生活有了新的感悟时,不妨将其写成一篇心得体...