数据库的发展史
初始阶段-----人工管理:人力手工整理存储数据
萌芽阶段-----文件系统:使用磁盘文件来存储数据
初级阶段-----第一代数据库:出现了网状模型、层次模型的数据库
中级阶段-----第二代数据库:关系型数据库和结构化查询语言
高级阶段------新一代数据库:NOSQL型数据库
数据库与文件系统的区别
文件系统: 文件系统是操作系统用于明确存储设备(常见的是磁盘)或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。
数据库系统: 数据库管理系统(Database Management System)是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称 DBMS。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。
对比区别:
-
管理对象不同: 文件系统的管理对象是文件,并非直接对数据进行管理,不同的数据结构需要使用不同的文件类型进行保存(举例: txt 文件和 doc 文件不能通过修改文件名完成转换) ;而数据库直接对数据进行存储和管理
-
存储方式不同:文件系统使用不同的文件将数据分类(.doc/.mp4/.jpg) 保存在外部存储上;数据库系统使用标准统一的数据类型进行数据保存(字母、 数字、符号、时间)
-
调用数据的方式不同:文件系统使用不同的软件打开不同类型的文件;数据库系统由 DBMS 统一调用和管理。
优缺点总结:
-
由于 DBMS 的存在,用户不再需要了解数据存储和其他实现的细节,直接通过 DBMS 就能获取数据,为数据的使用带来极大便利。
-
具有以数据为单位的共享性,具有数据的并发访问能力。 DBMS 保证了在并发访问时数据的一致性。
-
低延时访问,典型例子就是线下支付系统的应用,支付规模巨大的时候,数据库系统的表现远远优于文件系统。
-
能够较为频繁的对数据进行修改,在需要频繁修改数据的场景下,数据库系统可以依赖 DBMS 来对数据进行操作且对性能的消耗相比文件系统比较小。
-
对事务的支持。 DBMS 支持事务,即一系列对数据的操作集合要么都完成, 要么都不完成。在DBMS上对数据的各种操作都是原子级的。
MySQL的特性
-
使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性。
-
支持AIX、BSDi、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、NetBSD、OpenBSD、 OS/2 Wrap、Solaris、SunOS、Windows等多种操作系统。
-
为多种编程语言提供了API。这些编程语言包括C、C++、C#、Delphi、Eiffel、Java、Perl、PHP、 Python、Ruby和Tcl等。
-
支持多线程,充分利用CPU资源,支持多用户。
-
优化的SQL查询算法,有效地提高查询速度。
-
既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的 软件中。
-
提供多字符集支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数 据列名。
-
提供TCP/IP、ODBC和JDBC等多种数据库连接途径。
-
提供用于管理、检查、优化数据库操作的管理工具。
-
可以处理拥有上千万条记录的大型数据库。
Windows下安装
官网下载对应的安装包,根据需要下载对应的版本即可:MySQL :: Download MySQL Installer (Archived Versions)
1.使用MSI安装包安装
2.使用压缩包安装
下载地址
MySQL :: Download MySQL Community Server (Archived Versions)
zip版(5.5/5.6)
1.将压缩包解压,将my-defult.ini文件复制并命名为my.ini,修改其中的basedir和datadir
basedir=mysql主目录 datadir=mysql主目录\data
2.将bin目录配置到环境变量中
3.以管理员身份运行命令提示符,将路径切换到bin中,执行命令 mysqld install + 服务名 安装mysql服务器到系统
4.启动服务
5.在命令提示符执行mysql -uroot -p登录测试
卸载mysql:
停止服务:net stop mysql
删除服务:mysqld --remove
Linux下安装mysql
1.mariadb
mariadb是MySQL的主要分支(有兴趣的可以看看这个故事),因此mariadb就是MySQL,现在有很多公司就是使用mariadb。
CentOS YUM中存在mariadb的源,因此安装很是简单(如果在安装CentOS时选择了,可能已经默认安装了)。
安装过程:
1)清除yum源缓存数据
yum clean all
2)安装mariadb10.2
# 检查是否安装了mariadb
rpm -qa|grep mariadb
# 卸载mariadb
yum remove mariadb-libs-5.5.56-2.el7.x86_64
或者:
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
yum -y install mariadb-server mariadb-client
3、启动并添加开机自启:
#启用
systemctl start mariadb.service
#开机自启
systemctl enable mariadb.service
2.添加国内源下载
1)添加下载源
[root@localhost ~]# vim /etc/yum.repos.d/mysql57.repo
2)配置
[mysql57]
name=MySQL57
baseurl=https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql-5.7-community-el7-x86_64/
enabled=1
gpgcheck=1
3)测试源是否成功
[root@localhost ~]# yum repolist all|grep mysql
4)在线安装
yum -y install mysql-community-server
# 或者
yum install mysql-server mysql-client -y
5)安装成功后启动mysql
systemctl start mysqld
# 查看MySQL运行状态
systemctl status mysqld
# 如果为active则表示MySQL已经运行了