MySQL专题一——MySQL简介

本文介绍了MySQL的基础知识,包括为什么使用数据库、MySQL8.0目录结构、数据库相关概念如DBMS和SQL。还对比了Oracle和MySQL,讨论了关系型数据库RDBMS和非RDBMS的特点,并详细阐述了表的关联关系,如一对一、一对多和多对多。此外,文章提到了MySQL的卸载、安装和启动流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MySQL 简介

为什么使用数据库

  1. 数据可以从内存中保存到磁盘上,当设备掉电时,仍可保留
  2. 数据查询需要

MySQL8.0 目录

数据存放地址

Data/db_name/xxx.ibd
  • db_name 代指数据库名

  • xxx.ibd 数据库下的表名
    在这里插入图片描述

软件存放地址

MySQL/bin在这里插入图片描述

数据库相关概念

DB

数据库,即存储数据的“仓库”,其本质是一个文件系统,它保存了一系列有组织的数据

DBMS

数据库管理系统

SQL

结构化查询语言,用来操作数据库的语言
在这里插入图片描述

常见的关系型数据库介绍

Oracle

商业数据库

PostgreSQL

稳定性强,最符合SQL标准,开放源码,具备商业级DBMS质量,PG对数据量大的文本以及SQL处理快

SysBase

已淘汰,留下设计工具 PowerDesigner

SQLite

嵌入式的小型数据库,应用在手机端。零配置,SQLite不用安装,不用配置,不用启动 关闭 或配置数据库实例,可自动恢复。

Infomix

IBM 出品,取自Infomation和UNIX结合,它是第一个被移植到Linux上的商业数据库产品,仅运行于unix/linux平台 命令行操作。性能较高,支持集群,适应于安全性比较高的系统,尤其是银行 证券系统的应用。

MySQL 介绍

开放源代码的关系型数据库管理系统,由瑞典mysql ab 迅速发展成数据库的No.1

MariaDB 担心闭源,拉了一个MySQL的分支

MySQL 6.0 后分为社区版和商业版

可定制,采用了GPL协议,可以修改源码开发自己的MySQL系统

支持大型DB,5000万条记录的DB。MyISAM不对它的数据文件的大小做任何限制,文件的大小取决于操作系统对每个文件系统单个文件的限制。innodb MySQL对每个表空间的大小限制为64T,每个表空间可以有一个或多个文件,单个文件的大小同样取决于操作系统,但总体同一表空间的所有文件总和不能超过64T

2015 MySQL5.7 GA发布

2018 MySQL8.0.11 GA发布

为什么这么多公司使用MySQL

  • 开放源代码,使用成本低
  • 性能卓越,服务稳定
  • 社区活跃,遇到问题可求助
  • 软件体积小,使用简单,易于维护
  • 许多互联网公司在用,经过了时间的验证

Oracle和MySQL

Oracle适合大型跨国企业,对费用不敏感,对性能和安全性有更高的要求

MySQL 体积小,速度快,总体拥有成本低,可处理上千万条记录的大型数据库,尤其是开放源代码

关系型数据库RDBMS

二维表格形式

关系型数据库以行row和列col为格式,在表和表直接的数据记录有关系,现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示

关系型数据库,就是建立在关系模型基础上的数据库

复杂查询:可以用SQL语句方便地在一个表及多个表之间做非常复杂的数据查询

事务支持:使得对安全性很高的数据访问要求得以实现

非关系型数据库(非RDBMS)

非关系型数据库,是传统关系型数据库的阉割版本,基于键值对存储数据,不需要经过SQL层的解析,性能非常高,目前流行的有:

  • 文档型数据库 MongoDB
  • 搜索引擎数据库 Elasticsearch
  • 列式数据库 HBase(降低系统IO)
  • 图形数据库

关系型数据库的设计规则

关系型数据库的典型数据结构就是数据表,这些表的组成都是结构化的

将数据放到表中,表再放到库中

一个数据库中可以有多个表,每个表都有一个名字,用来标识自己,表名具有唯一性

表具有一些特性,这些特性定义了数据在表中如何存储,类似Java和python中类的设计

表 记录和字段

E-R(Entity-Relationship 实体-关系) 模型中的三个主要概念是实体集 联系集 属性

一个实体集(class)对应于数据库中的一个表(table),一个实体(instance) 则对应于数据库表中的一行(row) 也称为一个记录(record),一个属性(attribute)对应于数据表中的一列(column),也称为一个字段(field)

ORM(Object Relationship Mapping)体现:

  • 数据库中的一个表——Java或python中的一个类

  • 表中的一个数据——类中的一个对象(或实体)

  • 表中的一个列——类中的一个字段 属性(field)

表的关联关系

表与表之间的数据记录有4种关系

一对一关联 一对多关联 多对多关联 自我引用

一对一关联

在实际的开发中应用不多,因为一对一可以创建一张表。

举例:学号,姓名,手机号,班级,系别,身份证号码,家庭住址,籍贯,紧急联系人

拆成两张表,两个表的记录是一一对应的:

  1. 基础表(主表):学号 姓名 手机号码 班级 系别

  2. 档案表(从表):学号 身份证号码 家庭住址 籍贯 紧急联系人

    若不分成两个表,冗余字段偏多,会造成IO加载次数偏多,影响性能

两种建表原则:

外键唯一:主表的主键和从表的外键(唯一),形成主外键关系,外键唯一

外键是主键:主表的外键和从表的外键,形成主外键关系

一对多关联

常见实例场景:客户表和订单表,分类表和商品表,部门表和员工表

举例:员工表(主表):部门 姓名 编号 部门表(从表):编号 名称 简介

设计原则:在从表(多方)创建一个字段,字段作为外键,指向主表(一方)的主键

多对多关联

要表示多对多关系,必须建第三个表,该表通常称为联结表,它将多对多关系分成两个一对多关系。将这两个表主键都插入到第三个表中。

  • 学生信息表:一行代表一个学生的信息
  • 课程表信息表:一行代表一个课程的信息
  • 选课信息表:一个学生可以选多个课,一门课可以被多个学生选择

自我引用

员工信息表

编号姓名主管编号
1xx
2yy1

MySQL的卸载

  1. 停止MySQL的服务

  2. 通过控制面板卸载

    打开MySQL installer 打开后选择卸载remove

  3. 删除环境变量

  4. 删除服务里的MySQL服务

  5. 清理注册表 regedit

  6. 重启电脑

MySQL的四大版本

社区版本

企业版本

集群版

高级集群版

MySQL安装

  1. 选类型:选custom
  2. 选应用 MySQL server Advanced Operation
  3. Config type :Development computer, server computer, dedicated computer
  4. Authentication Method:Use strong Password

MySQL启动

  • net start mysql 管理员身份运行

  • net stop mysql 管理员身份运行

  • select version();

  • show databases;

  • 有环境变量 mysql -u root -p

  • 无环境变量 在bin下,mysql -u root -p

  • 同机器上其他MySQL mysql -u root -P13306 -p

  • 异机器上其他 mysql -u root -P3306 -h127.0.0.1 -p

  • 查看 show create table employee;

  • 查看编码格式 show variables like ‘character_%’;

  • 查看编码格式 show variables like ‘collation_%’;

  • 如何修改字符集以及修改字符集出现的问题

打开my.ini default-character-set=utf8

后重启mysql,若有需要,可修改建表时的字符集,用DBMS工具时可能出现的问题:

错误代码:2058 plugin caching_sha2_password could not be loaded xxx.

使用MySQL数据库 USE mysql;

修改root@localhost 用户的密码规则的密码 ALTER USER ‘root’ @ ‘localhost’ IDENTIFIED mysql_native_password BY ‘abc123’;

刷新权限 FLUSH VILEGES;

内容概要:本文档详细介绍了在三台CentOS 7服务器(IP地址分别为192.168.0.157、192.168.0.158和192.168.0.159)上安装和配置Hadoop、Flink及其他大数据组件(如Hive、MySQL、Sqoop、Kafka、Zookeeper、HBase、Spark、Scala)的具体步骤。首先,文档说明了环境准备,包括配置主机名映射、SSH免密登录、JDK安装等。接着,详细描述了Hadoop集群的安装配置,包括SSH免密登录、JDK配置、Hadoop环境变量设置、HDFS和YARN配置文件修改、集群启动与测试。随后,依次介绍了MySQL、Hive、Sqoop、Kafka、Zookeeper、HBase、Spark、Scala和Flink的安装配置过程,包括解压、环境变量配置、配置文件修改、服务启动等关键步骤。最后,文档提供了每个组件的基本测试方法,确保安装成功。 适合人群:具备一定Linux基础和大数据组件基础知识的运维人员、大数据开发工程师以及系统管理员。 使用场景及目标:①为大数据平台建提供详细的安装指南,确保各组件能够顺利安装和配置;②帮助技术人员快速掌握Hadoop、Flink等大数据组件的安装与配置,提升工作效率;③适用于企业级大数据平台的建与维护,确保集群稳定运行。 其他说明:本文档不仅提供了详细的安装步骤,还涵盖了常见的配置项解释和故障排查建议。建议读者在安装过程中仔细阅读每一步骤,并根据实际情况调整配置参数。此外,文档中的命令和配置文件路径均为示例,实际操作时需根据具体环境进行适当修改。
在无线通信领域,天线阵列设计对于信号传播方向和覆盖范围的优化至关重要。本题要求设计一个广播电台的天线布局,形成特定的水平面波瓣图,即在东北方向实现最大辐射强度,在正东到正北的90°范围内辐射衰减最小且无零点;而在其余270°范围内允许出现零点,且正西和西南方向必须为零。为此,设计了一个由4个铅垂铁塔组成的阵列,各铁塔上的电流幅度相等,相位关系可自由调整,几何布置和间距不受限制。设计过程如下: 第一步:构建初级波瓣图 选取南北方向上的两个点源,间距为0.2λ(λ为电磁波波长),形成一个端射阵。通过调整相位差,使正南方向的辐射为零,计算得到初始相位差δ=252°。为了满足西南方向零辐射的要求,整体相位再偏移45°,得到初级波瓣图的表达式为E1=cos(36°cos(φ+45°)+126°)。 第二步:构建次级波瓣图 再选取一个点源位于正北方向,另一个点源位于西南方向,间距为0.4λ。调整相位差使西南方向的辐射为零,计算得到相位差δ=280°。同样整体偏移45°,得到次级波瓣图的表达式为E2=cos(72°cos(φ+45°)+140°)。 最终组合: 将初级波瓣图E1和次级波瓣图E2相乘,得到总阵的波瓣图E=E1×E2=cos(36°cos(φ+45°)+126°)×cos(72°cos(φ+45°)+140°)。通过编程实现计算并绘制波瓣图,可以看到三个阶段的波瓣图分别对应初级波瓣、次级波瓣和总波瓣,最终得到满足广播电台需求的总波瓣图。实验代码使用MATLAB编写,利用polar函数在极坐标下绘制波瓣图,并通过subplot分块显示不同阶段的波瓣图。这种设计方法体现了天线阵列设计的基本原理,即通过调整天线间的相对位置和相位关系,控制电磁波的辐射方向和强度,以满足特定的覆盖需求。这种设计在雷达、卫星通信和移动通信基站等无线通信系统中得到了广泛应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值