著名展厅设计,电脑优化系统的软件哪个好,驻马店做网站优化,远洋国际建设有限公司网站1数据库基础
什么是数据库
数据库#xff08;Database#xff09;是一个有组织的数据存储系统#xff0c;用于有效地存储、检索、管理和维护数据。数据库系统允许用户以结构化的方式存储和操作大量数据#xff0c;并提供了一种可靠的方法来管理和维护这些数据#xff0c…1数据库基础
什么是数据库
数据库Database是一个有组织的数据存储系统用于有效地存储、检索、管理和维护数据。数据库系统允许用户以结构化的方式存储和操作大量数据并提供了一种可靠的方法来管理和维护这些数据以满足不同应用程序和用户的需求。
数据库分为关系型与非关系型,关系型数据库
关系型数据库: 是一种基于关系模型的数据库管理系统DBMS。在关系型数据库中数据以表格的形式组织表格由行和列组成每一行代表一个数据记录而每一列代表一个数据字段。关系型数据库的核心思想是将数据组织成易于理解和管理的表格这些表格之间可以建立关系。
非关系型数据库: 非关系型数据库NoSQLNot Only SQL是一类数据库管理系统与传统的关系型数据库RDBMS不同它们不采用固定的表格结构来存储数据。非关系型数据库旨在应对大规模、分布式、半结构化或无结构化数据的存储和处理需求以适应现代应用程序的挑战。
数据库发展历史
1层次型和网状型数据库时代20世纪60年代这一阶段的代表性产品是IBM在1969年研制的层次模型数据库管理系统IMS。层次型和网状型数据库通过父子节点和链接来表达数据之间的关系。
2关系型数据库时代20世纪70年代至今IBM研究员E.F.Codd在1970年提出了关系模型标志着关系型数据库的诞生。代表性产品包括IBM的System R和Ingres等。关系型数据库通过表格结构来表达数据之间的关系。
第三代数据库时代21世纪初至今这一阶段以面向对象数据库和NoSQL数据库为代表提供更丰富的数据模型和强大的数据管理功能。代表性产品包括MongoDB、Redis等。第三代数据库系统更加开放和可扩展适用于面向对象和大数据应用场景。 数据库管理系统从人工管理、文件管理发展到数据库管理系统数据存储、组织、查询和操作方式也随之发生巨大变化。关系型数据库至今仍占主导地位但NoSQL数据库在特定场景下也有广泛应用。数据库技术仍在不断发展之中。
数据库基本概念
1.数据(Data)数据是描述事物的符号记录可以是数字、文字、图形、图像、声音等。数据以记录的形式按统一格式存储而不是杂乱无章的。 2.表(Table)数据库中的数据存储在表中表由行(记录)和列(字段)组成用于存储具有相同格式和类型的数据。行表示一个实体列表示实体的属性。 3.数据库(Database)数据库是表的集合以一定的组织方式存储相关数据提供数据的统一管理。 4.数据库管理系统(DBMS)DBMS是数据库资源管理和访问的系统软件它提供数据库的建立和维护、数据定义、数据操纵、数据库运行管理等功能。 5.数据库系统(DBS)DBS是一个人机系统由硬件、操作系统、数据库、DBMS、应用软件和用户组成。用户可以通过DBMS或应用程序操作数据库。 6.DBMS工作模式DBMS接受应用程序的数据请求将高级指令转换为底层指令实现对数据库的操作并返回处理结果。
关系型数据库
关系型数据库基于关系模型使用表格结构来表达数据之间的关系。关系型数据库使用实体-关系(E-R)模型其基本结构是表结构由行和列组成。每一行代表一个实体每一列代表实体的一个属性。主键用于唯一标识表中的每条记录它具有唯一性和非空两个特性。外键用于表示表与表之间的关联关系通过外键可以将多个表关联起来。关系型数据库支持事务处理即保证一系列数据库操作要么全部成功要么全部失败。关系型数据库使用结构化查询语言SQL来查询和管理数据。常见的关系型数据库管理系统包括MySQL、Oracle、SQL Server、PostgreSQL等。
非关系型数据库
非关系型数据库亦称为NoSQL数据库其基本结构与关系型数据库截然不同。NoSQL数据库以其数据模型灵活性、强大的扩展性、高性能、灵活的查询方式和非事务处理等特点而闻名。它们能够存储多种类型的数据如键值对、文档、图形等不受固定的表结构限制非常适合处理大量数据特别是在大数据应用场景中。大多数NoSQL数据库不支持SQL查询语言而是采用API或特定查询语言进行数据访问。与关系型数据库不同它们通常不支持ACID事务处理。常见的非关系型数据库管理系统包括MongoDB、Redis、Cassandra、HBase等。
数据库的安装
安装编译环境
yum -y install gcc gcc-c cmake bison bison-devel zlib-devel libcurl-devel libarchive-devel boost-devel ncurses-devel gnutls-devel libxml2-devel openssl-devel libevent-devel libaio-devel创建mysql管理用户
useradd -M -s /sbin/nologin mysql下载mysql源码的压缩安装包
MySQL源码包下载地址 这里以MySQL5.7.41源码包为主
解归档源码包
tar xfv mysql-boost-5.7.41.tar 安装编译环境
yum -y install gcc gcc-c cmake bison bison-devel zlib-devel libcurl-devel libarchive-devel boost-devel ncurses-devel gnutls-devel libxml2-devel openssl-devel libevent-devel libaio-devel开始编译
cd mysql-5.7.41
cmake \
-DCMAKE_INSTALL_PREFIX/apps/mysql \ #指定安装路径
-DMYSQL_UNIX_ADDR/apps/mysql/mysql.sock \ #指定mysql进程监听套接字文件数据库连接文件的存储路径
-DSYSCONFDIR/etc \ #指定配置文件的存储路径
-DSYSTEMD_PID_DIR/apps/mysql \ #指定进程文件的存储路径
-DDEFAULT_CHARSETutf8 \ #指定默认使用的字符集编码如utf8
-DDEFAULT_COLLATIONutf8_general_ci \ #指定默认使用的字符集校对规则
-DWITH_INNOBASE_STORAGE_ENGINE1 \ #安装INNOBASE存储引擎
-DWITH_ARCHIVE_STORAGE_ENGINE1 \ #安装ARCHIVE存储引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE1 \ #安装BLACKHOLE存储引擎
-DWITH_PERFSCHEMA_STORAGE_ENGINE1 \ #安装FEDERATED存储引擎
-DMYSQL_DATADIR/apps/mysql/data \ #指定数据库文件的存储路径
-DWITH_BOOSTboost \ #指定boost的路径
-DWITH_SYSTEMD1 #生成便于systemctl管理的文件使用双核编译
make -j2
make install创建MySQL用户并设置
useradd -s /sbin/nologin mysql
chown -R mysql:mysql /apps/mysql/[client]
port 3306
default-character-setutf8
socket /apps/mysql/mysql.sock[mysql]
port 3306
default-character-setutf8
socket /apps/mysql/mysql.sock[mysqld]
user mysql
basedir /apps/mysql
datadir /apps/mysql/data
port 3306
character_set_serverutf8
pid-file /apps/mysql/mysqld.pid
socket /apps/mysql/mysql.sock
server-id 1sql_modeNO_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设置环境变量
echo PATH/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH /etc/profile
echo export PATH /etc/profile
source /etc/profile初始化数据库
cd /apps/mysql/bin/mysqld \
--initialize-insecure \
--usermysql \
--basedir/apps/mysql \
--datadir/apps/mysql/datacp /apps/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/systemctl daemon-reloadsystemctl start mysqld.servicemysqladmin -u root -p password 需要设置的密码mysql -u root -p #登录mysql
安装完成