【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、存储引擎

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Linux】:进程切换

朋友们、伙计们,我们又见面了,本期来给大家解读一下有关Linux进程切换的知识点,如果看完之后对你有一定的启发,那么请留下你的三连,祝大家心想事成! C 语 言 专 栏:C语言:从入门到精…

【AI副业教程】日赚5000+涨粉3000,自媒体新玩法!

​StartAI是一款专为设计师打造的基于Photoshop的AI工具,它提供了一系列强大的AI功能如:文生图、生成相似图、线稿上色、无损放大、局部重绘、扩图、艺术融合、提示词、智能擦除、风格选择等。https://www.istarry.com.cn/?sfromHGtsRq 你们能想象吗&a…

【Android安全】AOSP版本对应编号| AOSP版本适配Pixel或Nexus型号 | 驱动脚本下载地址

AOSP版本对应编号 https://source.android.com/docs/setup/about/build-numbers?hlzh-cn#source-code-tags-and-builds 例如android-8.1.0_r1 对应的编号是OPM1.171019.011 可以适配Pixel 2 XL AOSP驱动脚本下载 编译AOSP时,需要Google的驱动,后面才…

【分享】3种方法取消PPT的“限制保护”

PPT如果设置了有密码的“只读方式”,每次打开PPT,都会出现对话框,提示需要输入密码才能修改文件,否则只能以“只读方式”打开。 以“只读方式”打开的PPT就会被限制,无法进行编辑修改等操作。那如果后续不需要“限制保…

SpringBoot+layuimini实现角色权限菜单增删改查(layui扩展组件 dtree)

角色菜单 相关组件方法效果图代码实现资源菜单树组件实现权限树方法js这里我先主要实现权限树的整体实现方法,如果是直接查看使用的话可以只看这里! 后端代码Controlle层代码Service代码及实现类代码Service代码ServiceImpl代码 resourceMapper 代码role…

从零开始傅里叶变换

从零开始傅里叶变换 1 Overview2 傅里叶级数2.1 基向量2.2 三角函数系表示 f ( t ) f(t) f(t)2.2.1 三角函数系的正交性2.2.2 三角函数系的系数 2.3 复指数函数系表示 f ( t ) f(t) f(t)2.3.1 复指数函数系的系数2.3.2 复指数函数系的正交性 2.4 傅里叶级数总结 3 傅里叶变换…

如何将手机中的音乐转移到 SD 卡上?轻松传输音乐

概括 如何将音乐从手机转移到 SD 卡?我们的智能手机可以充当个人点唱机,因此有效管理我们的音乐库变得至关重要。无论您是存储空间不足还是只是想整理您的音乐收藏,将音乐从手机传输到 SD 卡都是一个实用的解决方案。 在本指南中&#xff0…

二叉树的递归实现及例题

目录 遍历方式 示例 原理 前序遍历示例 二叉树的节点个数 原理 层序遍历 原理 这样做的目的是 判断完全二叉树 例题 ​编辑 思路 代码 遍历方式 二叉树的遍历方式可分为: 前序遍历:先访问根,访问左子树,在访问右子…

浏览器的下载行为基本原理

浏览器解析 在使用浏览器访问某些资源时,有些资源是直接下载有些资源是直接打开。例如前端的html,xml,css,图片等资源都是直接打开,而txt,excel等文件是直接下载。那么如何控制访问一个资源时是下载文件还…

App Inventor 2 如何接入ChatGPT:国内访问OpenAI的最佳方式

如何接入OpenAI 由于国内无法访问OpenAI,KX上网可选大陆及香港(被屏蔽)以外才行。因此对于大多数人来说,想体验或使用ChatGPT就不太便利,不过App Inventor 2 为我们提供了相对便利的一种方式,即“试验性质…

C# run Node.js

C# run nodejs Inter-Process Communication,IPC Process类 启动Node.js进程,通过标准输入输出与其进行通信。 // n.js// 监听来自标准输入的消息 process.stdin.on(data, function (data) {// 收到消息后,在控制台输出并回复消息console.l…

连锁服装门店补货一般怎样的流程

连锁服装门店的补货流程通常包括以下四个关键步骤: 分析销售数据和库存情况 首先,连锁服装门店需要定期分析销售数据和库存情况。通过销售数据可以了解各款商品的销售情况、热销款式和滞销款式等信息。同时,需要检查每个门店的库存情况&…

06Django项目--用户管理系统--新增

对应视频链接点击直达 06Django项目--用户管理系统--新增 对应视频链接点击直达模块构思a,用户信息的构成(表结构设计)b,models里面的设计 用户新增页面设计a,先在模版里面选一个新增的样式b,然后删除该页面…

win32-鼠标消息、键盘消息、计时器消息、菜单资源

承接前文: win32窗口编程windows 开发基础win32-注册窗口类、创建窗口win32-显示窗口、消息循环、消息队列 本文目录 键盘消息键盘消息的分类WM_CHAR 字符消息 鼠标消息鼠标消息附带信息 定时器消息 WM_TIMER创建销毁定时器 菜单资源资源相关菜单资源使用命令消息的…

网络原理3

运营商路由器,也可以把它当做一个NAT设备它就会对中间经过的数据包,进行网络地址转换当内网设备经过运营商路由器访问外网的时候就会把IP数据包中的源ip,替换成它自己的ip. 我的电脑要发送一个数据给cctalk服务器此时,我的电脑上就…

论文精读--InstructGPT

模型效果取决于数据效果,但在精细度上控制不够,只是大力出奇迹,这样有很大的问题: (1)数据量太多或者没有这方面的数据,模型学不会怎么办 (2)安全性问题,模…

大模型的实践应用24-LLaMA-Factory微调通义千问qwen1.5-1.8B模型的实例

大家好,我是微学AI,今天给大家介绍一下大模型的实践应用24-LLaMA-Factory微调通义千问qwen1.5-1.8B模型的实例, LLaMA-Factory是一个专门用于大语言模型微调的框架,它支持多种微调方法,如LoRA、QLoRA等,并提供了丰富的数据集和预训练模型,便于用户进行模型微调。通义千问…

【Java】全套云HIS(医院信息管理系统)可对接医保 采用云端SaaS模式部署

【Java】全套云HIS(医院信息管理系统)可对接医保 采用云端SaaS模式部署 SaaS 模式的云 HIS 更适用于基层医疗机构,而传统的 HIS 已经在大中型医疗机构大规模应用。过去,国内的大中型医疗机构投入了大量的资金来进行信息化系统建设…

基于python实现搜索的目标站点内容监测系统

基于python实现搜索的目标站点内容监测系统 开发语言:Python 数据库:MySQL所用到的知识:Django框架工具:pycharm、Navicat、Maven 系统功能实现 登录页面 后台的登录一般是为了管理员的管理方便进行一个用户权限的验证。也是为管理员提供的唯…

mysqldump提示Using a password on the command line interface can be insecured的解决办法

mysql数据库备份一句话执行命令 mysqldump --all-databases -h127.0.0.1 -uroot -p123456 > allbackupfile.sql 提示如下提示 [rootyfvyy5b2on3knb8q opt]# mysqldump --all-databases -h127.0.0.1 > allbackupfile.sql mysqldump: Couldnt execute SELECT COLUMN_NA…