Linux云计算 |【第四阶段】RDBMS1-DAY1

主要内容:

数据库简介、构建MySQL服务(配置MySQL、配置phpMyadmin)、SQL语句基础(SQL语法规范、常用MYSQL命令)、SQL语句分类(DQL、DDL、DML、DCL)、基础查询、条件查询、排序;

一、数据库介绍

数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。它们在各种应用中扮演着关键角色,从简单的数据存储到复杂的数据分析和处理。

主流数据库产品:

在数据库领域,DB、DBMS 和 DBS 是三个常见的术语,它们分别代表不同的概念。以下是对这三个术语的详细解释:

  • DB(数据库):存储数据的集合,以结构化的方式组织数据
  • DBMS(数据库管理系统):管理和操作数据库的软件系统,提供数据定义、操作和控制功能
  • DBS(数据库系统):包括数据库、数据库管理系统、应用程序和用户,形成一个完整的系统,用于管理和操作数据

DB(Database)

DB 是 Database 的缩写,中文翻译为“数据库”。数据库是一个有组织的数据集合,通常存储在计算机系统中,用于高效地存储、管理和检索数据。数据库可以包含各种类型的数据,如文本、数字、图像、音频、视频等。特点:

  • 数据组织:数据以结构化的方式存储,通常使用表格(表)来组织数据。
  • 数据独立性:数据与应用程序分离,应用程序通过数据库管理系统(DBMS)访问数据。
  • 数据共享:多个用户和应用程序可以同时访问和操作数据库中的数据。
  • 数据一致性:通过约束和事务机制,确保数据的一致性和完整性。

DBMS(Database Management System)

DBMS 是 Database Management System 的缩写,中文翻译为“数据库管理系统”。DBMS 是一个软件系统,用于创建、管理和操作数据库。它提供了用户与数据库之间的接口,使用户能够方便地存储、检索、更新和管理数据。特点:

  • 数据定义:提供数据定义语言(DDL),用于定义数据库的结构,如创建表、定义索引等。
  • 数据操作:提供数据操作语言(DML),用于查询、插入、更新和删除数据。
  • 数据控制:提供数据控制语言(DCL),用于控制数据的访问权限和安全性。
  • 事务管理:支持事务处理,确保数据的一致性和完整性。

DBS(Database System)

DBS 是 Database System 的缩写,中文翻译为“数据库系统”。数据库系统是一个更广泛的概念,它包括数据库(DB)、数据库管理系统(DBMS)以及相关的应用程序和用户。数据库系统是一个完整的系统,用于管理和操作数据。

组成:

  1. 数据库(DB):存储数据的集合。
  2. 数据库管理系统(DBMS):管理和操作数据库的软件系统。
  3. 应用程序:使用数据库的应用程序,如 Web 应用、桌面应用等。
  4. 用户:访问和操作数据库的用户,如管理员、开发人员、终端用户等。

1、MySQL简介

MySQL 是一种开源的关系型数据库管理系统(RDBMS),广泛用于各种规模的应用程序,从个人项目到大型企业级系统。MySQL 以其高性能、可靠性和易用性而闻名,是世界上最流行的数据库之一。最早隶属于瑞典的MySQL AB公司,2008年1月,被SUN公司收购,2009年4月,SUN被Oracle收购;其次拥有崭新的开源分支MariaDB,为应付MySQL可能会闭源的风险而诞生,由MySQL原作者Widenius主导开发,与MySQL保持最大程度兼容;

MySQL 的特点:

开源

  • 免费使用:MySQL 是开源软件,用户可以免费下载、使用和修改。
  • 社区支持:拥有庞大的用户和开发者社区,提供丰富的文档、教程和问题解答。

高性能

  • 快速读写:MySQL 优化了查询和数据操作,适用于高并发的读写操作。
  • 索引支持:支持多种索引类型(如 B-Tree 索引、哈希索引),提高查询性能。

可靠性

  • 事务支持:支持 ACID 事务,确保数据的一致性和完整性。
  • 备份和恢复:提供多种备份和恢复机制,确保数据的可靠性和安全性。

易用性

  • SQL 支持:完全支持 SQL 标准,用户可以使用熟悉的 SQL 语法进行数据操作。
  • 图形化工具:提供多种图形化管理工具(如 MySQL Workbench),方便用户管理和操作数据库。

可扩展性

  • 水平扩展:支持分片(Sharding)和复制(Replication),实现水平扩展。
  • 垂直扩展:支持多核处理器和多服务器配置,实现垂直扩展。

MySQL 的使用场景:

Web 应用

  • 电子商务:存储产品信息、订单数据、用户信息等。
  • 社交网络:存储用户信息、帖子、评论等。
  • 内容管理系统(CMS):存储文章、页面、用户数据等。

企业应用

  • 客户关系管理(CRM):存储客户信息、销售数据、市场活动等。
  • 企业资源规划(ERP):存储财务数据、供应链数据、人力资源数据等。

数据分析

  • 数据仓库:存储大量历史数据,用于数据分析和报表生成。
  • 实时分析:支持实时数据查询和分析,如实时监控、实时报表等。

MySQL 的架构主要包括以下几个组件:

① 客户端

  • 命令行工具:如 mysql 命令行工具,用于执行 SQL 命令和管理数据库。
  • 图形化工具:如 MySQL Workbench,提供图形化界面进行数据库管理。
  • 应用程序:各种编程语言的 MySQL 驱动程序,如 PHP、Python、Java 等。

② 服务器

  • MySQL 服务器:负责处理客户端请求,执行 SQL 查询和数据操作。
  • 存储引擎:MySQL 支持多种存储引擎,如 InnoDB、MyISAM、Memory 等,不同的存储引擎提供不同的功能和性能。

③ 存储

  • 数据文件:存储实际的数据,如表数据、索引数据等。
  • 日志文件:存储事务日志、错误日志等,用于数据恢复和故障排查。

2、MySQL 的安装和配置

1)Linux:可以使用包管理器(如 apt、yum)安装 MySQL。

sudo apt-get install mysql-server

2)Windows:可以从 MySQL 官方网站下载安装包,按照向导进行安装。

配置文件:MySQL 的配置文件通常位于 /etc/mysql/my.cnf(Linux)或 C:\ProgramData\MySQL\MySQL Server X.X\my.ini(Windows)。
常用配置项:
- bind-address:指定 MySQL 服务器监听的 IP 地址。
- port:指定 MySQL 服务器监听的端口(默认 3306)。
- datadir:指定数据文件的存储路径。
- log_error:指定错误日志文件的路径。

二、部署MySQL服务

1)MySQL安装准备环境

  • 关闭防火墙和SELinux
  • 下载MySQL社区软件(教学提供mysql-5.7.17.tar)

官网下载:MySQL :: Download MySQL Community Server

mysql-community-client    //客户端应用程序

mysql-community-common    //数据库和客户端库共享文件

mysql-community-devel    //客户端应用程序的库和头文件

mysql-community-embedded   //嵌入式函数库

mysql-community-embedded-compat   //嵌入式兼容函数库

mysql-community-embedded-devel   //头文件和库文件作为MySQL的嵌入式库文件

mysql-community-libs     //mysql数据库客户端应用程序的共享库

mysql-community-libs-compat    //客户端应用程序的共享兼容库

mysql-community-minimal-debuginfo

mysql-community-server

mysql-community-test

  • 配置网络yum源(为后续实验方便软件下载)
  • 启动mysqld服务,首次启动服务,会执行数据初始化

2)相关参数

  • 软件安装后自动创建相关目录与文件

3)MySQL初始配置

① 初始密码登录

  • 数据库管理员名为root,默认仅允许root本机连接
  • 首次登录密码在安装软件是随机生成,随机密码存储在/var/log/mysqld.log日志文件

② 修改root密码

  • 使用mysqladmin -u用户名 -p随机密码 password '新密码'
  • 使用alter user命令修改登录密码,新密码必须满足密码策略;

4)连接方式

客户端连接MySQL服务的方法

  • ① 命令行
  • ② web页面
  • ③ 安装图形软件(phpMyAdmin)
  • ④ 编写脚本(PHP、JAVA、Python)

5)数据存储流程

客户端把数据存储到数据库服务器上的步骤:

  • ① 连接数据库服务器
  • ② 建库 //类似于文件夹
  • ③ 建表 //类似于文件
  • ④ 插入记录 //类似于文件内容
  • ⑤ 断开连接

附加:修改密码策略

策略名称

验证方式

0 or LOW

长度

1 or MEDIUM(默认)

长度;数字,小写/大写,和特殊字符

2 os STRONG

长度;数字,小写/大写和特殊字符;

mysql> show variables like "%password%";       //查看变量
mysql> set global validate_password_policy=0;     //修改密码策略
mysql> set global validate_password_length=6;     //修改密码长度
[root@localhost ~]# vim /etc/my.cnf    //永久配置
[mysqld]
validate_password_policy=0
validate_password_length=6

案例:构建MySQL服务器

步骤1:环境准备

1&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小安运维日记

Hey~ 感谢您的充电支持!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值