【MySQL — 数据库基础】MySQL的安装与配置 & 数据库简单介绍
数据库基础
本节目标
- 掌握关系型数据库,数据库的作用
- 掌握在Windows和Linux系统下安装MySQL数据库
- 了解客户端工具的基本使用和SQL分类
- 了解MySQL架构和存储引擎
1. 数据库的安装与配置
1.1 确认MYSQL版本
处理无法在 cmd 中使用 mysql 命令的情况,就需要去配置环境:
(2) 官网下载相应的版本
MySQL官网
下载历史版本
停止之后,原来版本的MySQL占用的资源和端口就会释放,就可以让新下载的MySQL来使用资源和端口;
1.2 安装数据库服务
window环境下各种环境安装及使用
- 1. 安装包:
确认之后,可以根据相应的安装路径去查看是否有文件
设置密码之后,来到下面的页面:
在配置第一个错误日志路径时,可以在本机上创建一个文件夹,来存放日志
运行数据库后,有对应操作,就会在这些设置好的路径生成日志;
1.3 检查数据库服务
安装和配置都完成之后,我们需要到服务列表中检查一下:
在服务中,刷新之后,可以看到MYSQL80(刚刚配置时的serverID)是一个正在运行的状态
也可以先打开文件位置
一般使用 UniCode 编码的快捷方式打开MYSQL
1.4 通过配置文件修改默认配置
如果以后要修改其他大版本,强烈建议修改;
- 我们之前配置数据目录的时候,默认的路径是在C盘;
- 数据目录是MYSQL工作的主要目录,非常重要,所有的数据都会在这个目录中存储,如果它在系统盘,我们就需要手动指定它到其他的目录;
- 刚刚没有修改,是因为它会在这个目录中,自动生成一个配置文件,我们需要找到这个配置文件,先打开文件看看目录结构是什么;
MYSQL全局配置文件
我们可以使用文本编辑器/记事本打开这个配置文件:
当MYSQL启动的时候,会读取这个文件的内容,作为启动的默认值,默认值要在这个文件中配置,所以每次改动默认配置,都需要重启一下MYSQL服务,以便配置生效;
如果是以#开头,就表示注释,所有客户端相关的配置
什么是客户端程序呢?我们打开安装目录:
这些以exe为后缀的程序,除了极个别的,都是客户端程序,它们有不同的作用,要连接服务器,要备份服务器,要导出,要查看日志,都是通过这些客户端程序
我们查看快捷方式中的属性,可以发现快捷方式的目标:
只要mysql.exe程序运行,就会读取配置文件[client]节点下的这些相应的配置,如果要指定不同的端口号,也需要加不同的选项,因为MYSQL服务器默认开启的是3306端口,所以默认的端口号是3306
[client]针对所有客户端程序,所有客户端程序,都会读取[client]节点下的配置
可执行程序 mysqld 是服务端程序,跟其他客户端程序不一样,运行就意味着MYSQL服务启动了;
mysqld 节点下面的所有配置,都是服务于MYSQL的配置;d的意思是daemon,就是“守护”的意思,服务器启动,[mysqld]也跟着启动,和服务器的生命周期是一样的,只在后台运行,服务器关闭, mysqld 也会跟着关闭;
接下来,我们需要修改一些配置文件;这些配置修改的时候,我们需要备份一份my.ini 的原始文件:
通常我们会配置一些常用的选项,在修改配置文件之前,一定要把原来的配置文件备份一份,防止改错了导致服务器启动失败,如果改错了可以快速回退到修改前的版本;
我们来看一下,配置文件中的哪一些配置需要我们去修改:
1. 如果要修改端口号,直接在这里修改即可(1025—65535,因为1024之前是系统占用的一些端口),开发机应该是不需要修改的,但是在线上部署的时候,有些对外网公布端口号的时候,一般都是需要修改的,因为3306是默认端口,在网络扫描的时候会扫描这个端口,扫描会给系统带来一些安全的隐患;
2. 配置数据目录的路径(强烈建议改,否则一些大数据会占用大量内存空间)
如果出现没有权限修改的问题,可以把文件拖拽到桌面进行修改,修改完成并保存后,再拖拽回原文件;
跟配置文件目录有一个同级目录Data:
复制Data,然后粘贴到刚刚修改的目标目录中
复制好后,修改目录的名字为刚刚数据目录的目录名
因为我们设置了一些用户名和密码,这些密码都会存储在系统库中,就是在默认的数据目录中,所以整体拷贝刚刚的Data到目标路径中,就不会出错
- 存储引擎用于处理数据,MYSQL怎么解析,怎么存储,用什么数据结构来存储,都是由存储引擎决定的,每一个存储引擎对数据的增删改查是不一样的;
- 存储引擎是MYSQL的核心;
不同版本的字符集是不一样的,如果配置不好,可能无法将中文写入数据库中,默认在 8.0版本是 utf8mb4 这个字符编码集,涉及到解码编码的,都会指定编码集,类似于协议
强烈建议手动指定编码集,MYSQL5.7默认编码集是latin1,意味着不支持中文,无法写入中文,如果要写入中文,一定要在配置文件中手动指定编码集为utf8mb4;在MYSQL8.0默认编码集是utf8mb4,不过不管是哪个版本的MYSQL,都建议手动指定
修改好配置后,重新启动MYSQL
重新启动后,也会在我们指定的数据目录中,找到相应的Data目录,就可以完成相应读取了
我们重新登录一下:
访问成功,就说明没有问题了;这就是整个安装过程;
2.数据库简介
2.1 什么是数据库
数据库是20世纪60年代末发展起来的一项重要技术,已经成为计算机科学与技术的一个重要分支。数据库技术主要是用来解决数据处理的非数值计算问题,数据处理的主要内容是数据的存储、查询、修改、排序和统计等。
2.2 为什么要使用数据库
1.数据持久化 | 数据库可以将数据保存在存储介质中,即使应用程序关闭或服务器重启,数据也不会丢失。 |
2.数据结构化 | 数据库能够以结构化的方式存储数据,使得数据易于管理和查询。 |
3.数据完整性 | 数据库管理系统(DBMS)提供了数据完整性的保障,确保数据的准确性和一致性。 |
4.并发控制 | 数据库可以处理多个用户或进程同时访问和修改数据,同时确保数据的一致性。 |
5.安全性 | 数据库提供了多种安全机制,如访问控制、加密等,保护数据不被未授权访问。 |
6.可扩展性 | 随着数据量的增长,数据库可以水平或垂直扩展,以适应不断增长的数据需求。 |
7.备份和恢复 | 数据库支持数据的备份和恢复,以防数据丢失或损坏。 |
8.查询优化 | 数据库系统提供了高效的查询优化器,可以快速执行复杂的查询操作。 |
9.事务管理 | 大部分关系型数据库都支持事务,确保一系列操作要么完全成功,要么完全失败,提高了操作的可靠性。 |
10.多用户支持 | 数据库允许多个用户同时访问和操作数据,适合多用户环境。 |
2.3 主流数据库
2.3.1 关系型数据库
什么是关系型数据库
- 关系型数据库是指采用了关系模型(就是一个二维表格模型)来组织数据的数据库,以行和列的形式存储数据。
- 关系模型可以简单理解为二维表格模型,而一个关系型数据库就是由二维表,及其之间的关系组成的一个数据组织。
每个表中的每一条记录称为一行数据,每一个数据行由一个或多个列组成;
- 上图,左边表的班级编号列,对应到右边表的编号列,对于这种情况,就叫两个二维表之间建立了联系;
- 两张二维表建立了关联关系,把数据组织在了一起,那么这两张表,在一个数据库中就称它们为关系型数据库;
那能不能把左边表中的班级编号列,替换成班级名称呢?可以,但是这样不好修改,在后面学数据库设计,会详细讲解这样改带来的一些问题;
关系型数据库种类
2.3.2 非关系型数据库
数据库引擎排名
相关文章:
![](https://i-blog.csdnimg.cn/direct/64f65f873b61462ea3cb859ff048774c.gif)
【MySQL — 数据库基础】MySQL的安装与配置 & 数据库简单介绍
数据库基础 本节目标 掌握关系型数据库,数据库的作用掌握在Windows和Linux系统下安装MySQL数据库了解客户端工具的基本使用和SQL分类了解MySQL架构和存储引擎 1. 数据库的安装与配置 1.1 确认MYSQL版本 处理无法在 cmd 中使用 mysql 命令的情况&a…...
![](https://i-blog.csdnimg.cn/blog_migrate/4ec5c376bfbfb10875d1a20312cefde3.png)
ehr系统建设方案,人力资源功能模块主要分为哪些,hrm平台实际案例源码,springboot人力资源系统,vue,JAVA语言hr系统(源码)
eHR人力资源管理系统:功能强大的人力资源管理工具 随着企业规模的不断扩大和业务需求的多样化,传统的人力资源管理模式已无法满足现代企业的需求。eHR人力资源管理系统作为一种先进的管理工具,能够为企业提供高效、准确、实时的人力资源管理。…...
![](https://i-blog.csdnimg.cn/img_convert/a0c42a9c02fac999ae6441741b1a8da9.png)
【解决安全扫描漏洞】---- 检测到目标站点存在 JavaScript 框架库漏洞
1. 漏洞结果 JavaScript 框架或库是一组能轻松生成跨浏览器兼容的 JavaScript 代码的工具和函数。如果网站使用了存在漏洞的 JavaScript 框架或库,攻击者就可以利用此漏洞来劫持用户浏览器,进行挂马、XSS、Cookie劫持等攻击。 1.1 漏洞扫描截图 1.2 具体…...
![](https://i-blog.csdnimg.cn/direct/459f6e32dcca437180c16fe9bdd5b085.png)
flink学习(12)——checkPoint
如何设置checkPoint package com.bigdata.day06;/** * 1、需要三句话 * 2、设置完checkPoint后若程序出现异常,会一直重启 * 3、此时是自动进行checkPoint保存 * 4、注意:此时如果有checkpoint ,是不会出现异常的,需要将checkpoint的代码关…...
![](https://i-blog.csdnimg.cn/direct/ad77b0c74e464c7da84dc023e983359e.png#pic_center)
【iOS】《Effective Objective-C 2.0》阅读笔记(一)
文章目录 前言了解OC语言的起源在类的头文件中尽量少引入其他头文件多用字面量语法,少用与之等价的方法字面量数值字面量数组字面量字典 多用类型常量,少用#define预处理指令用枚举法表示状态、选项、状态码 总结 前言 最近开始阅读一些iOS开发的相关书籍…...
![](https://www.ngui.cc/images/no-images.jpg)
LVS 负载均衡面试题及参考答案
目录 什么是 LVS 负载均衡?它的主要作用是什么? 为什么要使用 LVS 进行负载均衡? LVS 有哪些组成部分? 简述 LVS 的架构。 LVS 中有哪两种典型的架构?请简要说明它们的特点。 LVS 的工作原理是怎样的?简述 LVS 的工作原理。 解释 LVS 中的虚拟服务器(VS)概念。 …...
![](https://i-blog.csdnimg.cn/img_convert/2bb3be97d722138867d5449fd2440d85.jpeg)
北京科博会 天云数据CEO雷涛谈人工智能技术服务数字资产建设
7月13日,第二十六届中国北京国际科技产业博览会(简称北京科博会)在国家会议中心开幕。本届科博会年度主题为“实施创新驱动发展战略 增强高质量发展动能”。会上,天云数据CEO雷涛发表《人工智能技术服务数字资产建设》主题演讲。 近期非常引人注目的事件…...
![](https://www.ngui.cc/images/no-images.jpg)
【Python运维】容器管理新手入门:使用Python的docker-py库实现Docker容器管理与监控
《Python OpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门! 解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 随着容器技术的广泛应用,Docker已经成为开发和运维中的标准工具之一。使用Python语言管理Docker容器,不仅可以自动化繁琐的容器操作,还能…...
![](https://i-blog.csdnimg.cn/direct/11c322c85a6a4602b819fc10e127c25f.png)
小程序解决大问题-物流系统磁盘爆满问题处理
晚上七点,煤矿调运的物流调度系统突然磁盘报名导致服务崩溃。系统用的是微服务,没有详细操作说明,也不敢动,运煤车辆排起了长队,只能联系厂家处理。好在经过30多分钟的处理,服务终于启动,系统运…...
![](https://i-blog.csdnimg.cn/direct/890d6e1ff817423db5997f11ab2547c7.png)
计算机网络基础篇
TCP/IP网络模型 TCP/IP网络模型的作用就是给数据包进行层层封装,帮助数据包能够正确的找到对应的设备接受数据。 一个URL所经历的全部过程 URL所经历的全部过程: HTTP -> DNS ->协议栈-TCP->IP->MAC->网卡->交换机->路由器->服…...
![](https://i-blog.csdnimg.cn/direct/47b44fcd9a4f465f8572ba1b66279752.png)
32 从前序与中序遍历序列构造二叉树
32 从前序与中序遍历序列构造二叉树 32.1 从前序与中序遍历序列构造二叉树解决方案 class Solution { public:TreeNode* buildTree(vector<int>& preorder, vector<int>& inorder) {return buildTreeHelper(preorder, inorder, 0, 0, inorder.size() - 1)…...
![](https://www.ngui.cc/images/no-images.jpg)
D82【python 接口自动化学习】- pytest基础用法
day82 pytest初体验 学习日期:20241128 学习目标:pytest基础用法 -- pytest初体验 学习笔记: 文件命名规范 py测试文件必须以test_开头(或_test结尾)测试方法必须以test开头测试类必须以Test开头,并且…...
![](https://i-blog.csdnimg.cn/direct/cb3633771a2348fe97fed8c952351fd0.png)
在开发环境中,前端(手机端),后端(电脑端),那么应该如何设置iisExpress
首先,要想手机端应用能成功请求后端,两个设备至少需在同一个局域网内,且IP地址互通; 因为ajax是http(s)://IP地址端口号的方式请求,但是iisExpress默认是localhost如何解决,并没有IP地址,所以手…...
![](https://i-blog.csdnimg.cn/direct/3c5ed6dab3444e6187d3124add9f44db.jpeg)
磁盘/系统空间占满导致黑屏死机无法开机的解决办法
文章目录 起因具体操作1.重启虚拟机,一直按CtrlShitf进入GRUP界面2.选“Ubuntu高级选项”并回车选择第二个,recovery mode![请添加图片描述](https://i-blog.csdnimg.cn/direct/201f9784c203406d802d24b39dc2d4a3.png)3.4.命令查看磁盘情况5.查找和删除文…...
![](https://i-blog.csdnimg.cn/direct/f0bf9008d2df4d6c8bb67bd60941ffbb.png)
使用zabbix监控k8s
一、 参考文献 小阿轩yx-案例:Zabbix监控kubernetes云原生环境 手把手教你实现zabbix对Kubernetes的监控 二、部署经验 关于zabbix监控k8s,总体来说是分为两块内容,一是在k8s集群部署zabbix-agent和zabbix- proxy。二是在zabbix进行配置。…...
![](https://i-blog.csdnimg.cn/direct/76193bd111d04d859c003af9d1f1b7a6.png)
MacOS安装MySQL数据库和Java环境以及Navicat
安装MySQL 去官网下载:MySQL 下载好后安装,在设置里往下滑,出现了这样,就代表安装成功了 接下来配置环境: 首先在我们的设备上找到终端并打开,输入 vim ~/.bash_profile(注意vim后面的空格),输入完成后点击…...
![](https://i-blog.csdnimg.cn/direct/747a0b68ee4346888dbcce6c5a9e3f38.png)
算法的复杂度
1.数据结构前言 下面的概念有的比较难理解,做个了结就行。 1.1数据结构的起源 在现实生活中我们更多地并不是解决数值计算的问题,而是 需要一些更科学的手段如(表,数,图等数据结构),才能更好…...
![](https://i-blog.csdnimg.cn/direct/caf93eec2bb147ca8564646fcad65146.gif)
Linux命令进阶·如何切换root以及回退、sudo命令、用户/用户组管理,以及解决创建用户不显示问题和Ubuntu不显示用户名只显示“$“符号问题
目录 1. root用户(超级管理员) 1.1 用于账户切换的系统命令——su 1.2 退回上一个用户命令——exit 1.3 普通命令临时授权root身份执行——sudo 1.3.1 为普通用户配置sudo认证 2. 用户/用户组管理 2.1 用户组管理 2.2 用户管理 2.2.1 …...
![](https://i-blog.csdnimg.cn/direct/5ae66932db654207b41e19c61698acb9.png)
若依项目源码阅读
源码阅读 前端代码分析 代码生成器生成的前端代码有两个,分别是course.js用于向后端发送ajax请求的接口代码,另一个是index.vue,用于在浏览器展示课程管理的视图组件。前端的代码是基于vue3elementplus。 template用于展示前端组件别的标签…...
![](https://i-blog.csdnimg.cn/img_convert/414668a969089820a2a567c83c0d550b.png)
JVM知识点学习-1
学习视频:狂神说Java 类加载器和双亲委派机制 类加载器 作用:加载Class文件 流程:这里的名字car1。。在栈里面,但是数据在堆里面 类加载器的几个类型: 虚拟机自带的类加载器;启动类(根Boot…...
![](https://i-blog.csdnimg.cn/direct/cf2239f2a58e4b6d904a8c42170d6cc4.png)
TypeScript和JavaScript区别详解
文章目录 TypeScript和JavaScript区别详解一、引言二、类型系统1、静态类型检查TypeScript 示例JavaScript 示例 2、类型推断TypeScript 示例JavaScript 示例 三、面向对象编程TypeScript 示例JavaScript 示例 四、使用示例1. 环境搭建2. 创建TypeScript项目3. 安装TypeScript插…...
![](https://i-blog.csdnimg.cn/img_convert/b0b697f8e79b44f0182ededcf266eb92.webp?x-oss-process=image/format,png)
RVO动态避障技术方案介绍
原文:RVO动态避障技术方案介绍 - 哔哩哔哩 我们在开发游戏的时候经常会遇到这样的问题,当我们寻路的时候,其它人也在寻路,如何避免不从其它人的位置穿过。这个叫做动态避障,目前主流的解决方案就是RVO。本节我们来介绍…...
![](https://i-blog.csdnimg.cn/direct/e16cef6fa9b849b0b829e70546edee01.png)
Vue进阶之单组件开发与组件通信
书接上篇,我们了解了如何快速创建一个脚手架,现在我们来学习如何基于vite创建属于自己的脚手架。在创建一个新的组件时,要在新建文件夹中打开终端创建一个基本的脚手架,可在脚手架中原有的文件中修改或在相应路径重新创建…...
![](https://i-blog.csdnimg.cn/direct/30a157e726cf4a78a0b1e7b423f68c2c.gif)
OGRE 3D----5. OGRE和QML事件交互
在现代图形应用程序开发中,OGRE(Object-Oriented Graphics Rendering Engine)作为一个高性能的3D渲染引擎,广泛应用于游戏开发、虚拟现实和仿真等领域。而QML(Qt Modeling Language)则是Qt框架中的一种声明式语言,专注于设计用户界面。将OGRE与QML结合,可以充分利用OGR…...
![](https://www.ngui.cc/images/no-images.jpg)
ARIMA-神经网络混合模型在时间序列预测中的应用
ARIMA-神经网络混合模型在时间序列预测中的应用 1. 引言 1.1 研究背景与意义 时间序列预测在现代数据科学中扮演着越来越重要的角色。从金融市场的价格走势到工业生产的需求预测,从气象数据的天气预报到用电量的负荷预测,时间序列分析无处不在。传统的统计方法和现代深度学习…...
![](https://i-blog.csdnimg.cn/direct/59ae150db7ae419ba6fe9bb4531b5faa.png)
常见靶场的搭建
漏洞靶场 渗透测试(漏洞挖掘)切忌纸上谈兵,学习渗透测试(漏洞挖掘)知识的过程中,我们通常需要一个包含漏洞的测试环境来进行训练。而在非授权情况下,对于网站进行渗透测试攻击,是触及…...
![](https://i-blog.csdnimg.cn/direct/4b8266d5da98432791cd405bd51b56cf.png)
[MacOS] [kubernetes] MacOS玩转虚拟化最佳实践
❓ 为什么不在MacOS本机安装呢?因为M系列芯片是Arm架构,与生产环境或者在本地调试时候,安装虚拟镜像和X86不同,造成不必要的切换环境的额外成本,所以在虚拟化的x86调试 步骤 & 详情 一: 安装OrbStack & 并配置…...
![](https://i-blog.csdnimg.cn/direct/8a0b73a785364e7f9b67f2ed496fdc83.png)
HarmonyOS:@Provide装饰器和@Consume装饰器:与后代组件双向同步
一、前言 Provide和Consume,应用于与后代组件的双向数据同步,应用于状态数据在多个层级之间传递的场景。不同于上文提到的父子组件之间通过命名参数机制传递,Provide和Consume摆脱参数传递机制的束缚,实现跨层级传递。 其中Provi…...
![](https://i-blog.csdnimg.cn/direct/00e67f7bb5bb4b518526a80925bb76a3.png)
git 上传代码时报错
在上传代码时,显示无法上传 PS E:\JavaWeb\vue3-project> git push To https://gitee.com/evening-breeze-2003/vue3.git! [rejected] master -> master (non-fast-forward) error: failed to push some refs to https://gitee.com/evening-breeze-20…...
![](https://www.ngui.cc/images/no-images.jpg)
判断1456789876541是否为素数,是输出“是素数“,不是则输出“不是素数“
题目描述 判断1456789876541是否为素数,是输出"是素数",不是则输出"不是素数" 代码实现 int main() { long long n 1456789876541; //for (long long i 2; i < n; i)//数据量太大 for(long long i2;i<sqrt(n);i)//素数的优化 { if (n % i 0) …...
![](https://images.cnblogs.com/cnblogs_com/Rolends/201204/201204301816164680.png)
西安响应式网站建设/网站优化招商
分析部分 当我们访问QQ空间的时候,大家可以在右侧的发现一个这样的统计信息 当点击这个链接的时候,会跳转到 这样一个URL 这个URl可以管理好友,当然也就能读取到好友 上面我们是在浏览器中的操作,接下来看看数据到底怎么获取的,我们通过Fiddler的查找功能,就可以查找到web请…...
![](https://img2018.cnblogs.com/blog/1598444/201904/1598444-20190401180735753-2006249925.png)
网站开发的投标案例/口碑营销的优势
在JAVA中,反射是极其重要的知识,在后期接触的大量框架的底层都 都运用了反射技术,因此掌握反射技术将帮助我们更好地理解这些框架的原理,以便灵活地掌握框架技术的使用。 1、认识Class类 JAVA反射的源头是class类,若…...
![](/images/no-images.jpg)
花钱做网站注意些什么/吸引人的软文标题
自己擅长的,不是自己喜欢的,这种事很常见。明熹宗朱由校是狂热的木工活爱好者,爱因斯坦对小提琴比相对论还有信心,象棋大师杨官麟下的围棋比象棋多,围棋国手聂卫平打桥牌更是废寝忘食。 钱钟书在《窗》中有个调侃&…...
![](/images/no-images.jpg)
政府门户网站改版升级建设方案/推广互联网推广
本文所指的开发工程师,仅指程序开发人员和以数字电路开发为主的电子工程师。当你选择计算机或者电子、自控等专业进入大学时,你本来还是有机会从事其它行 业的,可你毕业时执迷不悟,仍然选择了开发做为你的职业,真是自做…...
![](/images/no-images.jpg)
长沙网站建设公司哪家好/网站关键词怎么快速上排名
06/01 2020 日论文提交,我是国内普通211本科毕业专业计算机科学与技术,本科毕业后直接来英国读博士,由于本科期间并没有认真学习,导致直博第一年压力巨大,前前后后花了5年时间完成博士论文,中间的进步提升是…...
![](https://img-blog.csdnimg.cn/img_convert/0e3d1e39fc949577172db138d1f1f710.png)
如何做简单网站首页/seo收索引擎优化
介绍机器学习中的分类问题是我们给出了一些输入(独立变量),并且我们必须预测一个离散目标。离散值的分布极有可能是非常不同的。由于每个类的差异,算法往往偏向于现有的大多数值,而对少数值的处理效果不好。类频率的这种差异影响模型的整体可…...