当前位置: 首页 > news >正文

【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 非关系型数据库    


数据库引擎排名


 

相关文章:

【MySQL — 数据库基础】MySQL的安装与配置 & 数据库简单介绍

数据库基础 本节目标 掌握关系型数据库,数据库的作用掌握在Windows和Linux系统下安装MySQL数据库了解客户端工具的基本使用和SQL分类了解MySQL架构和存储引擎 1. 数据库的安装与配置 1.1 确认MYSQL版本 处理无法在 cmd 中使用 mysql 命令的情况&a…...

ehr系统建设方案,人力资源功能模块主要分为哪些,hrm平台实际案例源码,springboot人力资源系统,vue,JAVA语言hr系统(源码)

eHR人力资源管理系统:功能强大的人力资源管理工具 随着企业规模的不断扩大和业务需求的多样化,传统的人力资源管理模式已无法满足现代企业的需求。eHR人力资源管理系统作为一种先进的管理工具,能够为企业提供高效、准确、实时的人力资源管理。…...

【解决安全扫描漏洞】---- 检测到目标站点存在 JavaScript 框架库漏洞

1. 漏洞结果 JavaScript 框架或库是一组能轻松生成跨浏览器兼容的 JavaScript 代码的工具和函数。如果网站使用了存在漏洞的 JavaScript 框架或库,攻击者就可以利用此漏洞来劫持用户浏览器,进行挂马、XSS、Cookie劫持等攻击。 1.1 漏洞扫描截图 1.2 具体…...

flink学习(12)——checkPoint

如何设置checkPoint package com.bigdata.day06;/** * 1、需要三句话 * 2、设置完checkPoint后若程序出现异常,会一直重启 * 3、此时是自动进行checkPoint保存 * 4、注意:此时如果有checkpoint ,是不会出现异常的,需要将checkpoint的代码关…...

【iOS】《Effective Objective-C 2.0》阅读笔记(一)

文章目录 前言了解OC语言的起源在类的头文件中尽量少引入其他头文件多用字面量语法,少用与之等价的方法字面量数值字面量数组字面量字典 多用类型常量,少用#define预处理指令用枚举法表示状态、选项、状态码 总结 前言 最近开始阅读一些iOS开发的相关书籍…...

LVS 负载均衡面试题及参考答案

目录 什么是 LVS 负载均衡?它的主要作用是什么? 为什么要使用 LVS 进行负载均衡? LVS 有哪些组成部分? 简述 LVS 的架构。 LVS 中有哪两种典型的架构?请简要说明它们的特点。 LVS 的工作原理是怎样的?简述 LVS 的工作原理。 解释 LVS 中的虚拟服务器(VS)概念。 …...

北京科博会 天云数据CEO雷涛谈人工智能技术服务数字资产建设

7月13日,第二十六届中国北京国际科技产业博览会(简称北京科博会)在国家会议中心开幕。本届科博会年度主题为“实施创新驱动发展战略 增强高质量发展动能”。会上,天云数据CEO雷涛发表《人工智能技术服务数字资产建设》主题演讲。 近期非常引人注目的事件…...

【Python运维】容器管理新手入门:使用Python的docker-py库实现Docker容器管理与监控

《Python OpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门! 解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 随着容器技术的广泛应用,Docker已经成为开发和运维中的标准工具之一。使用Python语言管理Docker容器,不仅可以自动化繁琐的容器操作,还能…...

小程序解决大问题-物流系统磁盘爆满问题处理

晚上七点,煤矿调运的物流调度系统突然磁盘报名导致服务崩溃。系统用的是微服务,没有详细操作说明,也不敢动,运煤车辆排起了长队,只能联系厂家处理。好在经过30多分钟的处理,服务终于启动,系统运…...

计算机网络基础篇

TCP/IP网络模型 TCP/IP网络模型的作用就是给数据包进行层层封装,帮助数据包能够正确的找到对应的设备接受数据。 一个URL所经历的全部过程 URL所经历的全部过程: HTTP -> DNS ->协议栈-TCP->IP->MAC->网卡->交换机->路由器->服…...

32 从前序与中序遍历序列构造二叉树

32 从前序与中序遍历序列构造二叉树 32.1 从前序与中序遍历序列构造二叉树解决方案 class Solution { public:TreeNode* buildTree(vector<int>& preorder, vector<int>& inorder) {return buildTreeHelper(preorder, inorder, 0, 0, inorder.size() - 1)…...

D82【python 接口自动化学习】- pytest基础用法

day82 pytest初体验 学习日期&#xff1a;20241128 学习目标&#xff1a;pytest基础用法 -- pytest初体验 学习笔记&#xff1a; 文件命名规范 py测试文件必须以test_开头&#xff08;或_test结尾&#xff09;测试方法必须以test开头测试类必须以Test开头&#xff0c;并且…...

在开发环境中,前端(手机端),后端(电脑端),那么应该如何设置iisExpress

首先&#xff0c;要想手机端应用能成功请求后端&#xff0c;两个设备至少需在同一个局域网内&#xff0c;且IP地址互通&#xff1b; 因为ajax是http(s)://IP地址端口号的方式请求&#xff0c;但是iisExpress默认是localhost如何解决&#xff0c;并没有IP地址&#xff0c;所以手…...

磁盘/系统空间占满导致黑屏死机无法开机的解决办法

文章目录 起因具体操作1.重启虚拟机&#xff0c;一直按CtrlShitf进入GRUP界面2.选“Ubuntu高级选项”并回车选择第二个&#xff0c;recovery mode![请添加图片描述](https://i-blog.csdnimg.cn/direct/201f9784c203406d802d24b39dc2d4a3.png)3.4.命令查看磁盘情况5.查找和删除文…...

使用zabbix监控k8s

一、 参考文献 小阿轩yx-案例&#xff1a;Zabbix监控kubernetes云原生环境 手把手教你实现zabbix对Kubernetes的监控 二、部署经验 关于zabbix监控k8s&#xff0c;总体来说是分为两块内容&#xff0c;一是在k8s集群部署zabbix-agent和zabbix- proxy。二是在zabbix进行配置。…...

MacOS安装MySQL数据库和Java环境以及Navicat

安装MySQL 去官网下载&#xff1a;MySQL 下载好后安装&#xff0c;在设置里往下滑&#xff0c;出现了这样&#xff0c;就代表安装成功了 接下来配置环境&#xff1a; 首先在我们的设备上找到终端并打开,输入 vim ~/.bash_profile(注意vim后面的空格)&#xff0c;输入完成后点击…...

算法的复杂度

1.数据结构前言 下面的概念有的比较难理解&#xff0c;做个了结就行。 1.1数据结构的起源 在现实生活中我们更多地并不是解决数值计算的问题&#xff0c;而是 需要一些更科学的手段如&#xff08;表&#xff0c;数&#xff0c;图等数据结构&#xff09;&#xff0c;才能更好…...

Linux命令进阶·如何切换root以及回退、sudo命令、用户/用户组管理,以及解决创建用户不显示问题和Ubuntu不显示用户名只显示“$“符号问题

目录 1. root用户&#xff08;超级管理员&#xff09; 1.1 用于账户切换的系统命令——su 1.2 退回上一个用户命令——exit 1.3 普通命令临时授权root身份执行——sudo 1.3.1 为普通用户配置sudo认证 2. 用户/用户组管理 2.1 用户组管理 2.2 用户管理 2.2.1 …...

若依项目源码阅读

源码阅读 前端代码分析 代码生成器生成的前端代码有两个&#xff0c;分别是course.js用于向后端发送ajax请求的接口代码&#xff0c;另一个是index.vue&#xff0c;用于在浏览器展示课程管理的视图组件。前端的代码是基于vue3elementplus。 template用于展示前端组件别的标签…...

JVM知识点学习-1

学习视频&#xff1a;狂神说Java 类加载器和双亲委派机制 类加载器 作用&#xff1a;加载Class文件 流程&#xff1a;这里的名字car1。。在栈里面&#xff0c;但是数据在堆里面 类加载器的几个类型&#xff1a; 虚拟机自带的类加载器&#xff1b;启动类&#xff08;根Boot…...

娱乐圈天降紫微星终结乱象,海棠山铁哥终结资源咖霸屏时代

资源咖的丧钟&#xff0c;已鸣。 草根王的号角&#xff0c;已响。一、旧秩序罪状书固化霸权三宗罪现场速写1. 资源垄断霸占赛道、包揽曝光、红利通吃2. 圈层护城出身即顶流&#xff0c;背景即通行证3. 劣币驱逐流水线泛滥&#xff0c;原创被碾压&#xff0c;审美被带偏 “无资源…...

SAP销售单文本处理保姆级教程:用SAVE_TEXT和READ_TEXT BAPI搞定抬头备注

SAP销售单文本处理实战指南&#xff1a;从业务需求到代码实现的完整闭环 销售订单处理过程中&#xff0c;文本信息承载着关键业务逻辑——加急标识、特殊包装要求、客户备注等非结构化数据往往决定了后续物流和财务流程的准确性。当这些信息在流转中丢失时&#xff0c;轻则导致…...

如何利用TortoiseSVN高效生成分支对比与历史变更的差异报告

1. TortoiseSVN简介与差异报告的价值 版本控制系统就像代码的时光机&#xff0c;它能完整记录每次修改的"快照"。我在团队协作中深刻体会到&#xff0c;没有比清晰的变更记录更能提高代码审查效率的工具了。TortoiseSVN作为Subversion的Windows客户端&#xff0c;最…...

深度解析Windows Defender移除技术:高级系统优化与安全组件管理架构实现指南

深度解析Windows Defender移除技术&#xff1a;高级系统优化与安全组件管理架构实现指南 【免费下载链接】windows-defender-remover A tool which is uses to remove Windows Defender in Windows 8.x, Windows 10 (every version) and Windows 11. 项目地址: https://gitco…...

ClawX:OpenClaw AI智能体桌面门户,图形化编排与自动化实战

1. 项目概述&#xff1a;ClawX&#xff0c;为OpenClaw AI智能体打造的桌面门户如果你和我一样&#xff0c;对AI智能体&#xff08;AI Agent&#xff09;的潜力感到兴奋&#xff0c;却又对在终端里敲打复杂的命令行、配置繁琐的YAML文件感到头疼&#xff0c;那么ClawX的出现&…...

Java源码分析:`ReentrantLock`、`ReentrantReadWriteLock`与`LockSupport`深度解析

引言&#xff1a;从synchronized到可编程的锁 在Java并发编程的世界里&#xff0c;synchronized关键字曾是开发者控制线程同步的唯一选择。它简单、易用&#xff0c;并由JVM保证其正确性。然而&#xff0c;随着应用复杂度的提升&#xff0c;其固有的局限性——如无法中断、无法…...

Yeti性能优化技巧:10个方法提升威胁情报处理效率

Yeti性能优化技巧&#xff1a;10个方法提升威胁情报处理效率 【免费下载链接】yeti Your Everyday Threat Intelligence 项目地址: https://gitcode.com/gh_mirrors/ye/yeti Yeti是一个强大的威胁情报平台&#xff0c;专门为网络安全团队设计&#xff0c;旨在连接CTI&am…...

Gemini3.1Pro写作教练全攻略

2026 年&#xff0c;写作工具的使用方式已经发生了明显变化。过去很多人把大模型当成“代写工具”&#xff0c;但真正高效、长期可持续的用法&#xff0c;其实是把它当成个人写作教练&#xff1a;帮你拆选题、理结构、改表达、做复盘&#xff0c;而不是直接替你完成所有内容。最…...

[CAN BUS] 从开源到商用:USB-CAN适配器选型避坑指南与稳定性深度剖析

1. 为什么USB-CAN适配器选型这么重要&#xff1f; 如果你正在开发汽车电子、工业控制或者机器人项目&#xff0c;大概率会用到CAN总线。作为嵌入式工程师&#xff0c;我最开始接触CAN总线时&#xff0c;天真地以为随便买个USB转CAN的工具就能搞定。结果在实际项目中踩了不少坑—…...

CANN ops-nn MseLoss算子

MseLoss 【免费下载链接】ops-nn 本项目是CANN提供的神经网络类计算算子库&#xff0c;实现网络在NPU上加速计算。 项目地址: https://gitcode.com/cann/ops-nn 产品支持情况 产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练系列产品/Atlas A3 推理系列产品√At…...