MySQL介绍、安装和卸载

news2024/12/30 2:27:17

MySQL介绍、安装和卸载

  • 1. 数据库基本概念
  • 2. 数据库类型和常见的关系型数据库
    • 2.1 数据库类型
    • 2.2 常见的关系型数据库
  • 3. MySQL介绍
  • 4. MySQL8的安装和卸载

1. 数据库基本概念


1. 数据

所谓数据(Data)是指对客观事物进行描述并可以鉴别的符号,这些符号是可识别的、抽象的。它不仅仅指狭义上的数字,而是有多种表现形式:字母、文字、文本、图形、音频、视频等。现在计算机存储和处理的数据范围十分广泛,而描述这些数据的符号也变得越来越复杂了。

2. 数据库

数据库(DatabaseDB)指的是以一定格式存放、能够实现多个用户共享、与应用程序彼此独立的数据集合。

3. 数据库管理系统

数据库管理系统(Database Management SystemDBMS)是用来定义和管理数据的软件。如何科学的组织和存储数据,如何高效的获取和维护数据,如何保证数据的安全性和完整性,这些都需要靠数据库管理系统完成。目前,比较流行的数据库管理系统有:OracleMySQLSQL ServerDB2等。

4. 数据库应用程序

数据库应用程序(Database Application SystemDBAS)是在数据库管理系统基础上,使用数据库管理系统的语法,开发的直接面对最终用户的应用程序,如学生管理系统、人事管理系统、图书管理系统等。

5. 数据库管理员

数据库管理员(Database AdministratorDBA)是指对数据库管理系统进行操作的人员,其主要负责数据库的运营和维护。

6. 最终用户

最终用户(User)指的是数据库应用程序的使用者。用户面向的是数据库应用程序(通过应用程序操作数据),并不会直接与数据库打交道。

7. 数据库系统

数据库系统(Database SystemDBS)一般是由数据库、数据库管理系统、数据库应用程序、数据库管理员和最终用户构成。其中DBMS是数据库系统的基础和核心。


2. 数据库类型和常见的关系型数据库


2.1 数据库类型


数据库经过几十年的发展,出现了多种类型。根据数据的组织结构不同,主要分为网状数据库、层次数据库、关系型数据库和非关系型数据库四种。目前最常见的数据库模型主要是:关系型数据库和非关系型数据库。

1. 关系型数据库:

关系型数据库模型是将复杂的数据结构用较为简单的二元关系(二维表)来表示,如图所示。在该类型数据库中,对数据的操作基本上都建立在一个或多个表格上,我们可以采用结构化查询语言(SQL)对数据库进行操作。关系型数据库是目前主流的数据库技术,其中具有代表性的数据库管理系统有:OracleDB2SQL ServerMySQL等。

学号性名性别年龄
2022189张三16
2022188李四17
2022187王五18

关系=二维表

2. 非关系型数据库NOSQL:

NOSQLNot Only SQL)泛指非关系型数据库。关系型数据库在超大规模和高并发的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题。NOSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。常见的非关系型数据库管理系统有MemcachedMongoDBredisHBase等。


2.2 常见的关系型数据库


虽然非关系型数据库的优点很多,但是由于其并不提供SQL支持、学习和使用成本较高并且无事务处理,所以本文的重点是关系型数据库。下面我们将介绍一下常用的关系型数据库管理系统。

1. Oracle:

Oracle数据库是由美国的甲骨文(Oracle)公司开发的世界上第一款支持SQL语言的关系型数据库。经过多年的完善与发展,Oracle数据库已经成为世界上最流行的数据库,也是甲骨文公司的核心产品。

Oracle数据库具有很好的开放性,能在所有的主流平台上运行,并且性能高、安全性高、风险低;但是其对硬件的要求很高、管理维护和操作比较复杂而且价格昂贵,所以一般用在满足对银行、金融、保险等行业大型数据库的需求上。

2. DB2:

DB2IBM公司著名的关系型数据库产品。DB2无论稳定性,安全性,恢复性等等都无可挑剔,而且从小规模到大规模的应用都可以使用,但是用起来非常繁琐,比较适合大型的分布式应用系统。

3. SQL Server:

SQL Server是由Microsoft开发和推广的关系型数据库,SQL Server的功能比较全面、效率高,可以作为中型企业或单位的数据库平台。SQL Server可以与Windows操作系统紧密继承,无论是应用程序开发速度还是系统事务处理运行速度,都能得到大幅度提升。但是,SQL Server只能在Windows系统下运行,毫无开放性可言。

4. MySQL:

MySQL是一种开放源代码的轻量级关系型数据库,MySQL数据库使用最常用的结构化查询语言(SQL)对数据库进行管理。由于MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个人需要对其缺陷进行修改。

由于MySQL数据库体积小、速度快、成本低、开放源码等优点,现已被广泛应用于互联网上的中小型网站中,并且大型网站也开始使用MySQL数据库,如网易、新浪等。


3. MySQL介绍


MySQL数据库最初是由瑞典MySQL AB公司开发,2008年1月16号被Sun公司收购。2009年,SUN又被Oracle收购。MySQL是目前IT行业最流行的开放源代码的数据库管理系统,同时它也是一个支持多线程高并发多用户的关系型数据库管理系统。MySQL之所以受到业界人士的青睐,主要是因为其具有以下几方面优点:

1. 开放源代码:

MySQL最强大的优势之一在于它是一个开放源代码的数据库管理系统。开源的特点是给予了用户根据自己需要修改DBMS的自由。MySQL采用了General Public License,这意味着授予用户阅读、修改和优化源代码的权利,这样即使是免费版的MySQL的功能也足够强大,这也是为什么MySQL越来越受欢迎的主要原因。

2. 跨平台:

MySQL可以在不同的操作系统下运行,简单地说,MySQL可以支持Windows系统、UNIX系统、Linux系统等多种操作系统平台。这意味着在一个操作系统中实现的应用程序可以很方便地移植到其他的操作系统下。

3. 轻量级:

MySQL的核心程序完全采用多线程编程,这些线程都是轻量级的进程,它在灵活地为用户提供服务的同时,又不会占用过多的系统资源。因此MySQL能够更快速、高效的处理数据。

4. 成本低:

MySQL分为社区版和企业版,社区版是完全免费的,而企业版是收费的。即使在开发中需要用到一些付费的附加功能,价格相对于昂贵的OracleDB2等也是有很大优势的。其实免费的社区版也支持多种数据类型和正规的SQL查询语言,能够对数据进行各种查询、增加、删除、修改等操作,所以一般情况下社区版就可以满足开发需求了,而对数据库可靠性要求比较高的企业可以选择企业版。
另外,PHP中提供了一整套的MySQL函数,对MySQL进行了全方位的强力支持。

总体来说,MySQL是一款开源的、免费的、轻量级的关系型数据库,其具有体积小、速度快、成本低、开放源码等优点,其发展前景是无可限量的。

社区版与企业版主要的区别是:
1)社区版包含所有MySQL的最新功能,而企业版只包含稳定之后的功能。换句话说,社区版可以理解为是企业版的测试版。
2)MySQL官方的支持服务只是针对企业版,如果用户在使用社区版时出现了问题,MySQL官方是不负责任的。


4. MySQL8的安装和卸载


1. MySQL的版本:

近期主要历史版本有5.0/5.1/5.5/5.6/5.7,目前最新版本是MySQL8。6.0曾经是个内部试验版本,已取消了。

MySQL8.0的版本历史。
1)2016-09-12第一个DM(development milestone)版本8.0.0发布;
2)2018-04-19第一个GA(General Availability)版本开始,8.0.11发布;
3)2018-07-27 8.0.12GA发布;
4)2018-10-22 8.0.13GA发布;
5)2019-01-21 8.0.14GA发布;
6)2019-02-01 8.0.15GA发布;
7)最新的版本是8.0.18,2019年10月14日正式发布;
8)…后续更新。

2. 官方下载地址:

https://dev.mysql.com/downloads/windows/installer/8.0.html

3. 安装过程:

1)双击MySQL安装文件mysql-installer-community-8.0.18.0.msi,出现安装类型选项。

  • Developer Default:开发者默认;
  • Server only:只安装服务器端;
  • Client only:只安装客户端;
  • Full:安装全部选项;
  • Custom:自定义安装。

在这里插入图片描述

2)选择,然后继续:

在这里插入图片描述

3)进入产品配置向导,配置多个安装细节,点击Next按钮即可。

在这里插入图片描述

4)高可靠性High Availability,采用默认选项即可。

  • Standalone MySQL Server/Classic MySQL Replication:独立MySQL服务器/经典MySQL复制;
  • InnoDB Cluster:InnoDB集群。

在这里插入图片描述

5)类型和网络Type and Networking,采用默认选项即可。记住MySQL的监听端口默认是3306

在这里插入图片描述

6)身份验证方法Authentication Method,采用默认选项即可。

在这里插入图片描述

7)账户和角色 Accounts and Roles。MySQL管理员账户名称是root,在此处指定root用户的密码。还可以在此处通过Add User按钮添加其他新账户,此处省略该操作。

在这里插入图片描述

8)Windows服务:Windows Service

  • Configure MySQL Server as a Windows Service:给MySQL服务器配置一个服务项。
  • Windows Service Name:服务名称,采用默认名称MySQL80即可。
  • Start the MySQL at System Startup:系统启动时开启MySQL服务

在这里插入图片描述

9)Apply Configuration:点击Execute按钮执行开始应用这些配置项。

  • Writing configuration file:写配置文件;
  • Updating Windows Firewall rules:更新Windows防火墙规则;
  • Adjusting Windows services:调整Windows服务;
  • Initializing database:初始化数据库;
  • Starting the server: 启动服务器;
  • Applying security setting:应用安全设置;
  • Updating the Start menu link:更新开始菜单快捷方式链接。

在这里插入图片描述

如果配置出错,查看右侧的log,查看对应错误信息。
执行完成后,如下图所示。单击Finish完成安装,进入产品配置环节。

在这里插入图片描述

10)产品配置Product Configuration到此结束:点击Next按钮。

在这里插入图片描述

11.安装完成Installation Complete。点击Finish按钮完成安装。

在这里插入图片描述

4. 查看MySQL的安装结果:

1)安装了Windows Service:MySQL80,并且已经启动。

在这里插入图片描述

2)安装了MySQL软件。安装位置为:C:\Program Files\MySQL。 (MySQL文件下放的是软件的内容)

在这里插入图片描述

3)安装了MySQL数据文件夹,用来存放MySQL基础数据和以后新增的数据。安装位置为C:\ProgramData\MySQL\MySQL Server 8.0。 (ProgramData文件夹可能是隐藏的,显示出来即可) (MySQL文件下的内容才是真正的MySQL中数据)

在这里插入图片描述

4)在MySQL数据文件夹中有MySQL的配置文件:my.ini。它是MySQL数据库中使用的配置文件,修改这个文件可以达到更新配置的目的。以下几个配置项需要大家特别理解:

  • port=3306:监听端口是3306
  • basedir="C:/Program Files/MySQL/MySQL Server 8.0/":软件安装位置
  • datadir=C:/ProgramData/MySQL/MySQL Server 8.0/Data:数据文件夹位置
  • default_authentication_plugin=caching_sha2_password:默认验证插件
  • default-storage-engine=INNODB:默认存储引擎
  • (这些内容在Linux下可能会手动更改)

5. MySQL登录,访问,退出操作:

1)登录:

访问MySQL服务器对应的命令:mysql.exe ,位置:C:\Program Files\MySQL\MySQL Server 8.0\bin

在这里插入图片描述

mysql.exe需要带参数执行,所以直接在图形界面下执行该命令会自动结束。

打开控制命令台:win+r

在这里插入图片描述

执行mysql.exe命令的时候出现错误:

在这里插入图片描述

需要配置环境变量path

在这里插入图片描述

注意:控制命令台必须重启才会生效。

登录的命令:mysql -hlocalhost -uroot –p

  • mysqlbin目录下的文件mysql.exemysqlMySQL的命令行工具,是一个客户端软件,可以对任何主机的mysql服务(即后台运行的mysqld)发起连接。
  • -hhost主机名。后面跟要访问的数据库服务器的地址;如果是登录本机,可以省略。
  • -uuser用户名。后面跟登录数据的用户名,第一次安装后以root用户来登录,是MySQL的管理员用户。
  • -p: password 密码。一般不直接输入,而是回车后以保密方式输入。

在这里插入图片描述

2)访问数据库:

显示MySQL中的数据库列表:show databases; 默认有四个自带的数据库,每个数据库中可以有多个数据库表、视图等对象。

切换当前数据库的命令:use mysql;

  • MySQL下可以有多个数据库,如果要访问哪个数据库,需要将其置为当前数据库。
  • 该命令的作用就是将数据库mysql(默认提供的四个数据库之一的名字)置为当前数据库。

显示当前数据库的所有数据库表:show tables;

MySQL 层次:不同项目对应不同的数据库组成(每个数据库中有很多表,每个表中有很多数据)。

在这里插入图片描述

3)退出数据库:

退出数据库可以使用quit;或者exit;命令完成,也可以用\q;,完成退出操作。

在这里插入图片描述

5. 数据库的卸载:

1)卸载数据库

  • 停止MySQL服务:在命令行模式下执行net stop mysql或者在Windows服务窗口下停止服务。
    在这里插入图片描述

  • 在控制面板中删除MySQL软件。
    在这里插入图片描述

  • 删除软件文件夹:直接删除安装文件夹C:\Program Files\MySQL,其实此时该文件夹已经被删除或者剩下一个空文件夹。

  • 删除数据文件夹:直接删除文件夹C:\ProgramData\MySQL。此步不要忘记,否则会影响MySQL的再次安装。 (ProgramData文件夹可能是隐藏的,显示出来即可) (MySQL文件下的内容才是真正的MySQL中数据)

  • 删除path环境变量中关于MySQL安装路径的配置 。

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

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

相关文章

(四)流程控制ifelse

文章目录 if else用法示例1演示1示例2演示2示例3演示3示例4演示4 逻辑与或非示例1演示1示例2演示2示例3演示3 if elseif else示例1演示1示例2演示2 if else 用法 if(条件表达式成立或为真){ //执行里面 }else{ //否则执行这里面 } 这里:条件表达式成立或为真,数值…

《WebKit 技术内幕》学习之十五(6):Web前端的未来

6 Chromium OS和Chrome的Web应用 6.1 基本原理 HTML5技术已经不仅仅用来编写网页了,也可以用来实现Web应用。传统的操作系统支持本地应用,那么是否可以有专门的操作系统来支持Web应用呢?当然,现在已经有众多基于Web的操作系统&…

环形链表的检测与返回

环形链表 王赫辰/c语言 - Gitee.com 快慢指针的差距可以为除一以外的数吗?不可以如果差奇数则无法发现偶数环,是偶数无法发现奇数环,本题思路为指针相遇则为环,而以上两种情况会稳定差一,导致指针永不相遇 最终返回…

<蓝桥杯软件赛>零基础备赛20周--第19周--最短路

报名明年4月蓝桥杯软件赛的同学们,如果你是大一零基础,目前懵懂中,不知该怎么办,可以看看本博客系列:备赛20周合集 20周的完整安排请点击:20周计划 每周发1个博客,共20周。 在QQ群上交流答疑&am…

单片机学习笔记---独立按键控制LED亮灭

直接进入正题! 今天开始我们要学习一个新的模块:独立按键! 先说独立按键的内部结构: 它相当于一种电子开关,按下时开关接通,松开时开关断开,实现原理是通过轻触按键内部的金属弹片受力弹动来实…

深度学习知识

context阶段和generation阶段的不同 context阶段(又称 Encoder)主要对输入编码,产生 CacheKV(CacheKV 实际上记录的是 Transformer 中 Attention 模块中 Key 和 Value 的值),在计算完 logits 之后会接一个Sampling 采…

CC++内存管理【非常详细,对新手友好】

文章目录 一、程序内存划分1.基础知识2. 堆栈的区别3. 题目练手 二、C语言中动态内存管理方式三、C中动态内存管理方式1. new/delete操作内置类型2. new/delete操作自定义类型 四、operator new和operator delete函数1. 汇编查看编译器底层调用2. 透过源码分析两个全局函数 五、…

GD32移植FreeRTOS+CLI过程记录

背景 之前我只在STM32F0上基于HAL库和CubeMX移植FreeRTOS,但最近发现国产化替代热潮正盛,许多项目都有国产化器件指标,而且国产单片机确实比意法的便宜,所以也买了块兆易创新的GD32F303开发板,试一试它的优劣。虽然GD…

【开源】基于JAVA的班级考勤管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 系统基础支持模块2.2 班级学生教师支持模块2.3 考勤签到管理2.4 学生请假管理 三、系统设计3.1 功能设计3.1.1 系统基础支持模块3.1.2 班级学生教师档案模块3.1.3 考勤签到管理模块3.1.4 学生请假管理模块 3.2 数据库设…

【系统备份/迁移】解决克隆win10系统分区后,进系统黑屏、有鼠标指针(无需修改注册表)

【解法】简单来说就是,在PE系统中修复引导,修复成功后再进入系统就正常了。 1、问题 笔者通过DiskGenius克隆系统分区来备份自己的win10系统。克隆完成后,进入新系统里,发现是黑屏,移动鼠标时可以看到鼠标指针&#x…

通过铭文赛道的深度链接,XDIN3 与 opBNB 的双向奔赴

​进入到 2024 年以来,随着铭文市场基建设施的不断完善,铭文正在被赋予捕获价值与流动性的能力,并且铭文投资者们也正在趋于理性,这也意味着铭文赛道正在向价值回归的全新方向发展。 XDIN3 是推动铭文资产捕获价值的重要基建设施&…

第7章 面向对象基础(下)

第7章 面向对象基础(下) 学习目标 会区分静态的类变量和非静态的实例变量 会区分静态的类方法和非静态的实例方法 了解类初始化 认识枚举类型 会使用枚举类型 认识包装类 会使用包装类进行处理字符串 会分析包装类的相关面试题 能够声明抽象类 能够说出…

ZigBee学习——浅析协议栈

✨记录学习过程 文章目录 一、初识OSAL1.1 Z-Stack和Zigbee的OSAL是什么关系?1.2 OSAL可以解决Z-stack在不同厂商的芯片上的使用吗? 二、协议栈运行机制2.1 初始化涉及内容2.2 初始化过程 一、初识OSAL OSAL,全称是操作系统抽象层&#xff0…

【驱动系列】C#获取电脑硬件显卡核心代号信息

欢迎来到《小5讲堂》,大家好,我是全栈小5。 这是《驱动系列》文章,每篇文章将以博主理解的角度展开讲解, 特别是针对知识点的概念进行叙说,大部分文章将会对这些概念进行实际例子验证,以此达到加深对知识点…

代码随想录算法训练营day4 | 链表(2)

一、LeetCode 24 两两交换链表中的节点 题目链接:24.两两交换链表中的节点https://leetcode.cn/problems/swap-nodes-in-pairs/ 思路:设置快慢指针,暂存节点逐对进行交换。 代码优化前: /*** Definition for singly-linked list…

总结和考试

总结和考试 1. 代码规范1.1 名称1.2 注释1.3 todo1.4 条件嵌套1.5 简单逻辑先处理1.6 循环1.7 变量和值 2.知识补充2.1 pass2.2 is 比较2.3 位运算 3.阶段总结4.考试题 1. 代码规范 程序员写代码是有规范的,不只是实现功能而已。 1.1 名称 在Python开发过程中会创…

EndNote20 添加GBT7714文献格式

GBT 7714格式是中国国家标准《文后参考文献著录规则》的规定,用于指导学术论文、期刊文章等文献的参考文献著录。GBT 7714标准规定了参考文献的格式、内容和著录要求,以确保文献的一致性和标准化。 在EndNote 20中,若需要按照GBT 7714格式在W…

JavaScript 之 作用域变量提升闭包

一、JavaScript 代码的执行 浏览器内核是由两部分组成的,以 webkit 为例 WebCore:负责HTML解析、布局、渲染等等相关的工作JavaScriptCore:解析、执行 JavaScript 代码 另外一个强大的 JavaScript 引擎就是 V8 引擎 二、深入 V8 引擎原理 …

Django介绍

一、介绍 Django是Python语言中的一个Web框架,Python语言中主流的web框架有Django、Tornado、Flask 等多种 优势:大而全,框架本身集成了ORM、模型绑定、模板引擎、缓存、Session等功能,是一个全能型框架,拥有自己的Admin数据管理后台,第三方工具齐全,性能折中 缺点:…

用ChatGPT写申请文书写进常春藤联盟?

一年前,ChatGPT 的发布引发了教育工作者的恐慌。现在,各大学正值大学申请季,担心学生会利用人工智能工具伪造入学论文。但是,聊天机器人创作的论文足以骗过大学招生顾问吗? ChatGPT简介 ChatGPT,全称聊天生…