【MySQL】MySQL的安装和基本概念

MySQL的安装和基本概念

  • 一、环境安装
    • 1、环境及配置
    • 2、下载安装
  • 二、基本概念
    • 1、主流数据库
    • 2、mysql和mysqld的区别和概念
      • (1)概念1:了解CS结构
      • (2)概念2:数据库指的是什么
      • (3)概念3:数据库本质
    • 3、服务器,数据库,表关系
    • 4、举个例子:创建一张学生信息表
    • 5、MySQL架构
    • 6、SQL分类
    • 7、存储引擎


一、环境安装

1、环境及配置

我们采用的环境是centos7.6
服务器是腾讯云轻量级服务器
用户是root

2、下载安装

mysql下载官网

点击跳转到当前的网页,再鼠标右击打开“查看网页源代码”。
在这里插入图片描述

因为我是centos7.6的所以选择这个下载到桌面。
在这里插入图片描述
通过rz将其解压到Linux根目录Mysql中:
在这里插入图片描述

我们先来检查一下有没有Mysql的配置源:

ls /etc/yum.repos.d/ -al
在这里插入图片描述

我们发现没有mysql的配置源,那么下载并安装:

rpm -ivh mysql57-community-release-el7.rpm
在这里插入图片描述

查看配置源,如下图发现是已经有了mysql了,并通过grep去过滤看mysql是否能够正常工作,下图中是能的。
在这里插入图片描述
在这里插入图片描述

正式安装mysql服务:

yum install -y mysql-community-server
在这里插入图片描述

发现下载失败了!我们看一下下载失败的原因:秘钥失效
在这里插入图片描述

那么我们更新一下密钥到最新版就好了:

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
在这里插入图片描述
继续用上面那个yum源的指令安装:(安装成功)
在这里插入图片描述

查看配置⽂件和数据存储位置:
在这里插入图片描述

启动一下服务:
systemctl start mysqld.service
在这里插入图片描述

登录一下看看试试:
居然要密码!我们根本不知道密码是什么,所以有两种方法
第一种方法看一下临时密码(很多人机子上都没有这个):
在这里插入图片描述
第二种方法是免密登录:skip-grant-tables
在这里插入图片描述
在这里插入图片描述

其实上述做完了还是登不进去:
在这里插入图片描述
原因是我们没有重新启动一下啊,我们重新启动一下试试:
在这里插入图片描述
使用一下:
在这里插入图片描述

我们再来配置一下.cnf文件:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
其实我们用的端口号是3306!!!

我们后面进行登录的指令:
在这里插入图片描述
如果没有写 -h 127.0.0.1 默认是连接本地
如果没有写 -P 3306 默认是连接3306端口号

二、基本概念

要弄懂数据库的概念,首先得明白为什么要有数据库,我们平常存储不是有文件存储吗?为什么不用文件存储,还非要搞出来个数据库来进行存储,原因在于:文件保存数据有以下几个缺点:文件的安全性问题、文件不利于数据查询和管理、文件不利于存储海量数据、文件在程序中控制不方便。而为了解决上面的四个问题,专家们就设计了个数据库,也就是用来管理数据的东西。

1、主流数据库

SQL Sever: 微软的产品,.Net程序员的最爱,中大型项目。
Oracle: 甲骨文产品,适合大型项目,复杂的业务逻辑,并发一般来说不如MySQL。
MySQL:世界上最受欢迎的数据库,属于甲骨文,并发性好,不适合做复杂的业务。主要用在电商,SNS,论坛。对简单的SQL处理效果好。
PostgreSQL :加州大学伯克利分校计算机系开发的关系型数据库,不管是私用,商用,还是学术研究使用,可以免费使用,修改和分发。
SQLite: 是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。
H2: 是一个用Java开发的嵌入式数据库,它本身只是一个类库,可以直接嵌入到应用项目中。

2、mysql和mysqld的区别和概念

(1)概念1:了解CS结构

我们既然要学习mysql,那这个mysqld是个什么?
在这里插入图片描述
我们看上图,发现mysql和mysqld在不同的文件中,mysql在/usr/bin/mysql 而 mysqld在/usr/sbin/mysqld中,而我们打出mysqld发现其实是个守护进程,其实这个mysqld是个数据库的服务器端,这个mysql是个数据库的客户端,所以我们平常学习到的mysql就是个基于C(mysql)S(mysqld)模式下的一种网络服务。看下图是个网络服务器。

在这里插入图片描述

(2)概念2:数据库指的是什么

我们既然知道了mysql是一套给我们提供数据存取的服务的网络程序,那么我们不难知道,数据库是在磁盘或者内存中存取的特定结构组织的数据也就是将来在磁盘上存储的一套数据库的方案。
而数据库的服务依旧是mysqld。

(3)概念3:数据库本质

一般的文件确实提供了数据的存储功能,但是文件并没有提供良好的数据内容管理能力,所以数据库就是对数据内容存储的一套解决方案,当用户给到了字段或者要求,数据库服务器直接拿出结果给用户即可。换而言之,就是用户提出需求(在mysql客户端),mysqld(服务端)根据这些内容自己生成对应的解决方案返回给用户。

3、服务器,数据库,表关系

所谓安装数据库服务器,只是在机器上安装了一个数据库管理系统程序,这个管理程序可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库。
为保存应用中实体的数据,一般会在数据库中创建多个表,以保存程序中实体的数据。
数据库服务器、数据库和表的关系如下:
在这里插入图片描述

我们可以通过linux机器下来看一下上图的概念:
在这里插入图片描述
我们其实发现/etc/my.cnf中存着一个datadir的信息表,进入这个文件中发现其文件中的目录文件就是mysql表中显示的信息了~

4、举个例子:创建一张学生信息表

创建数据库:create database helloworld;
在这里插入图片描述

使用数据库:use helloworld;
在这里插入图片描述

创建数据库表:
create table student(
name varchar(32),
age int,
gender varchar(2)
);

插入信息+查询表中数据:select * from student;
在这里插入图片描述

5、MySQL架构

MySQL 是一个可移植的数据库,几乎能在当前所有的操作系统上运行,如 Unix/Linux、Windows、Mac 和 Solaris。各种系统在底层实现方面各有不同,但是 MySQL 基本上能保证在各个平台上的物理体系结构的一致性。
在这里插入图片描述

6、SQL分类

DDL【data definition language】 数据定义语言,用来维护存储数据的结构
代表指令: create, drop, alter
DML【data manipulation language】 数据操纵语言,用来对数据进行操作
代表指令: insert,delete,update
DML中又单独分了一个DQL,数据查询语言,代表指令: select
DCL【Data Control Language】 数据控制语言,主要负责权限管理和事务
代表指令: grant,revoke,commit

7、存储引擎

存储引擎是:数据库管理系统如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/635839.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Vue——开发前的准备和创建一个vue的工程

文章目录 前言安装 Node js1、下载node.js2、安装node.js3、查看是否安装成功 创建 vue 工程Visual Studio Code 配置目录结构 前言 本篇博客主要讲解Vue开发前的环境配置与一些说明。 安装 Node js 环境需要安装配置一个nodejs 的环境。 vue3 最低nodejs 版本要求为 15.0 1…

Golang | Leetcode Golang题解之第107题二叉树的层序遍历II

题目&#xff1a; 题解&#xff1a; func levelOrderBottom(root *TreeNode) [][]int {levelOrder : [][]int{}if root nil {return levelOrder}queue : []*TreeNode{}queue append(queue, root)for len(queue) > 0 {level : []int{}size : len(queue)for i : 0; i < …

Springboot 开发 -- Thymeleaf页面嵌入帆软报表

一、后端代码 Slf4j Controller RequestMapping("/reprot") public class FineReportController {//帆软地址&#xff1a;finereport.urlhttp://localhost:8075/WebReport/ReportServer?reportletValue("${finereport.url}")private String finereportUr…

视频监控管理平台LntonCVS安防管理平台指挥交通应用方案

地铁作为城市交通的关键组成部分&#xff0c;承担着大量乘客流量&#xff0c;因此地铁视频监控系统的建设至关重要。这一系统不仅能够提升地铁运营的安全性&#xff0c;还能有效预防和处理突发事件&#xff0c;保障乘客的出行安全。 首先&#xff0c;地铁视频监控系统实现了对地…

vue3+ts实战

目录 一、ts语法练习 1.1、安装 1.2、语法 二、vue3ts 2.1、项目创建 2.1.1、项目创建(建议node版本在16.及以上) 2.1.2、下载路由、axios 2.1.3、引入element-plus 2.1.4、报错解决 (1)文件路径下有红色波浪 (2)组件名称下有红色波浪 (3)引入模块下有红色波浪 2.…

使用docker完整搭建前后端分离项目

1、docker的优势&#xff0c;为啥用docker 2、docker的核心概念 镜像【Image】- 只读模板 容器【Container】- 运行镜像的一个外壳&#xff0c;相当于一个独立的虚拟机 仓库【repository】- 镜像的管理工具&#xff0c;可公开&#xff0c;可私有&#xff1b;类似git仓库 3、c…

【字典树(前缀树) 位运算】1803. 统计异或值在范围内的数对有多少

本文涉及知识点 字典树&#xff08;前缀树&#xff09; 位运算 LeetCode1803. 统计异或值在范围内的数对有多少 给你一个整数数组 nums &#xff08;下标 从 0 开始 计数&#xff09;以及两个整数&#xff1a;low 和 high &#xff0c;请返回 漂亮数对 的数目。 漂亮数对 是…

勒索病毒的策略与建议

随着网络技术的快速发展&#xff0c;勒索病毒攻击成为全球范围内日益严重的网络安全威胁。勒索病毒通过加密用户文件或锁定系统来勒索赎金&#xff0c;给个人和企业带来了巨大的损失。因此&#xff0c;了解如何应对勒索病毒攻击至关重要。本文将概述一些有效的防范措施和应对策…

【01】GeoScene Enterprise(Linux)许可更新

如果在Linux环境下部署了GeoScene Enterprise基础环境&#xff0c;也就是部署了server、portal、datastore、web adaptor四大组件&#xff0c;当试用许可到期后&#xff0c;拿到新的许可想要更新许可&#xff0c;从而使得软件能够正常工作&#xff0c;下述步骤是更新GeoScene E…

pytorch-20 lstm实践

一、LSTM预测类型 数据类型&#xff1a;单变量、多变量与面板数据数据处理&#xff08;滑窗方式&#xff09;&#xff1a;单变量有seq2seq&#xff0c;seq2point&#xff1b;多变量&#xff1a;特征滑窗&#xff0c;带标签滑窗 1. 数据类型&#xff1a;单变量、多变量与面板数…

Windows安全应急--反隐身术

NO.1 dir命令 首先做个演示&#xff0c;把演示01这个文件夹隐藏起来&#xff0c; 在文件夹上是看不到了&#xff0c; 我们可以使用dir命令查看&#xff0c; NO.2 文件夹选项–显示隐藏 这个是非常常规的了&#xff0c; 这里不做过多介绍 有些隐藏文件很顽固&#xff0c;上面…

第一周:参照与变迁

这是我于2020年10月参加的一个为期10周的管理课程培训的作业集。当时要求每周都需提交一篇课后作业。现在打算重温并整理这些作业&#xff0c;以验证自己在这几年间是否真正有所长进。 事物一旦向相反方向发生改变&#xff0c;那么会相对程度的改变&#xff0c;并且会下意识的以…

【机器学习与大模型】驱动下的电子商务应用

摘要&#xff1a; 随着信息技术的飞速发展&#xff0c;电子商务已经成为当今商业领域中最为活跃和重要的部分之一。而机器学习和大模型的出现&#xff0c;为电子商务带来了新的机遇和挑战。本文深入探讨了机器学习与大模型在电子商务中的应用&#xff0c;包括个性化推荐、精准营…

MyBatisPlus标准分页功能制作,以及设置分页拦截器,selectPage(new Page<>(current,size),null)

目录 1、设置分页拦截器 2、创建数据库及表 3、pom.xml 4、添加MP的相关配置信息 application.yml 5、根据数据库表创建实体类 User 6、创建 UserDao 接口 7、编写引导类 8、编写测试类 9、Run的运行结果 1、设置分页拦截器 package com.example.config; import com.baomidou.m…

文章解读与仿真程序复现思路——电力系统保护与控制EI\CSCD\北大核心《基于改进Q学习算法和组合模型的超短期电力负荷预测》

本专栏栏目提供文章与程序复现思路&#xff0c;具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…

okcc呼叫系统如何限制主叫号码的使用频次?

OKCC呼叫中心系统是一套完整的呼叫中心与管理平台,为电话营销型企业专门设计的电销平台与客服平台。OKCC系统集电话营销功能与热线客服功能于一体,兼具呼入呼出功能。那么okcc呼叫系统如何限制主叫号码的使用频次呢&#xff1f;请和小编一起来看看&#xff0c;技术问题欢迎一起…

Java基础教程 - 9 集合

更好的阅读体验&#xff1a;点这里 &#xff08; www.doubibiji.com &#xff09; 更好的阅读体验&#xff1a;点这里 &#xff08; www.doubibiji.com &#xff09; 更好的阅读体验&#xff1a;点这里 &#xff08; www.doubibiji.com &#xff09; 9 集合 什么是集合&…

煤矿ai智能监控系统

煤矿ai智能监控系统利用智能视频分析技术和YOLO深度学习技术&#xff0c;煤矿ai智能监控系统可以对煤矿现场进行全方位的监测和分析。煤矿ai智能监控系统能够精确识别和分析皮带锚杆、矸石、木板、堆煤等运输设备和物料的运行状态&#xff0c;同时也可以识别煤量的大小以及非法…

Rocketmq集群再搭建

注意上面这个官方架构是 主从模式&#xff0c;还无法做到高可用&#xff0c;因为master节点宕机&#xff0c;从节点没法变成主节点&#xff0c;需要人工重启&#xff0c;够用了。 1. 先准备1台虚拟机&#xff0c;装好1台再克隆2台 根据上面的图&#xff0c;3台机器中有一台…

k8s之yaml文件详解

文章目录 k8s之yaml文件详解一、关于yaml文件1、k8s支持的文件格式2、YAML语言格式3、查看api资源版本标签4、编写nginx-test.yaml资源配置清单4.1 编写资源配置清单4.2 创建资源对象4.3 查看创建的pod资源 5、创建service服务对外提供访问并测试5.1 编写nginx-svc-test.yaml5.…