Day01 关系型数据MySQL简介与多平台安装配置

news2024/10/7 8:23:09

在大数据的课程中,我们需要处理的数据来自不同的渠道,其中有一个很重要的渠道就是关系型数据库中存储的数据。在企业中,会把业务数据存储在关系型数据库中,一般以MySQL居多。另外,我们在后续的课程中需要学习Hive、SparkSQL、Flink SQL等内容,而这些内容共同的基础就是SQL语法。所以,我们需要借助MySQL学习SQL语法的使用,熟练的掌握基础的增删改查的操作与多表的查询操作,为后续的课程学习打好扎实的基础。

另外,在大数据的数据处理流程中,有时候我们需要将处理之后的数据导出给其他的业务场景使用,而导出业务数据最常用的,也是导出到MySQL数据库中,因此这部分的课程需要重点去学习!

第一章 数据库简介

1.1 数据库的简介

数据库(DataBase,DB):指长期保存在计算机的存储设备上,按照一定规则组织起来,可以被各种用户或应用共享的数据集合。

数据库管理系统(DataBase Management System,DBMS):指一种操作和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制,以保证数据库的安全性和完整性。用户通过数据库管理系统访问数据库中的数据。

数据库软件应该为数据库管理系统,数据库是通过数据库管理系统创建和操作的。

数据库:存储、维护和管理数据的集合。

1.2 数据库的分类

  1. 关系型数据库(sql)
    • Oracle: 是Oracle公司的数据库产品
    • Mysql: 最早属于瑞典的MysqlAB公司的,后被Sun公司收购,Sun在2009年4月20号被Oracle收购。
    • SQLServer: 微软旗下的数据库产品
    • Access: 微软旗下的数据库产品
    • DB2: IBM公司旗下的数据库产品
  2. 非关系型数据库(nosql)
    • HBase是一个分布式的、面向列的开源数据库
    • MongoDB是一个基于分布式文件存储的数据库
    • Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API

第二章 数据库的安装与配置

2.1 安装: Windows版

界面操作描述信息
image-202111220926314761. 接受条款,下一步,准备开始安装
image-202111220927156542. 选择Custom,自定义安装,Next
image-202111221638172083. 以自己的操作系统为准,不过大多数都是64位的操作系统,按照图中的选择即可。
image-202111221639133694. 下一步
image-202111221640278935. 如果检测到了依赖的缺失,点击下方的Execute进行依赖的下载和安装,不要点击Next。
这里有点小BUG,这个自动的安装,只会安装64位的,实际上MySQL还依赖vcredist_x86,需要手动安装。
这里的界面不是必现的,如果没有依赖缺失,就看不到这样的界面,直接下一步即可
image-202111221641467356. 依赖安装完成,点击Next进行MySQL的安装
image-202111221644444517. 配置端口信息与防火墙信息。
注意:MySQL默认使用3306端口,如果这个端口被占用了,可以设置为其他的端口。但是,最优的选择是查找谁占用了3306端口,并修改其他的程序占用,最好保证3306端口是留给MySQL的。
image-202111221646307788. 选择默认即可
image-202111221650165689. 设置MySQL的root用户的密码
image-2021112216522708210. 按照自己的需求选择即可。不推荐修改服务的名称。
image-2021112216533377011. 选择Execute,安装即可。
image-2021112216544088812. 安装、配置完全结束
image-2021112216551423413. 直接下一步,完成!

部分安装失败的原因

1.关闭防火墙

2.查看系统版本与mysql版本

3.检查配置是否正确

4.电脑老旧

5.尝试以管理员权限安装mysql

6.卸载完先关机重启

2.2 卸载: Windows版

卸载MySQL的时候需要注意,如果卸载的不彻底,会有部分的数据残留,导致下一次再安装MySQL的时候,会有安装不上的情况出现。

  1. 打开卸载程序

    • 直接打开安装包,里面提供有卸载的功能
    • 开始菜单搜索uninstall,找到MySQL
    • 控制面板找到MySQL,右键卸载
  2. 卸载主程序

    image-20211122170020839
  3. 清除MySQL的数据

    MySQL主程序卸载完成后,需要彻底清除MySQL的残留数据。在C盘的ProgramData中,删除MySQL的文件夹即可。

    ProgramData是一个隐藏文件夹,需要显示隐藏才可以看到。

  4. 清除注册表信息

    1. Windows+R–>regedit–>打开注册表
    2. 根据路径打开并删除
      1. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL
      2. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL
      3. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application\MySQL

2.3 安装: Mac直装版

Mac上的dmg安装包,这里是不需要任何的配置的,直接一路下一步即可!

**注意:**在最后一步的时候,会弹出一个对话框,告诉你生成了一个临时的root用户的密码,使用这个密码登录到MySQL进行密码的修改即可。

2.4 卸载: Mac直装版

sudo rm /usr/local/mysql
sudo rm -rf /usr/local/mysql*
sudo rm -rf /Library/StartupItems/MySQLCOM
sudo rm -rf /Library/PreferencePanes/My*
vim /etc/hostconfig  (and removed the line MYSQLCOM=-YES-)
rm -rf ~/Library/PreferencePanes/My*
sudo rm -rf /Library/Receipts/mysql*
sudo rm -rf /Library/Receipts/MySQL*
sudo rm -rf /var/db/receipts/com.mysql.*

2.5 安装: Mac Homebrew版

操作界面描述
image-202111221703186711. 搜索服务器,这个就是我们需要使用的mysql。
需要历史版本的,也可以使用指定的版本,例如: mysql@5.7
image-202111221711264522. brew install mysql安装mysql
image-202111221714419483. 使用mysql_secure_installation进行密码的设置,完成。
安全级别为LOW的情况下,至少需要8位密码

2.6 卸载: Mac Homebrew版

# brew卸载MySQL
brew uninstall mysql

# 清除包残留
brew cleanup

# 清除其他残留
rm -rf /opt/homebrew/etc/my.cnf
rm -rf /opt/homebrew/var/mysql

# 安装包可以清理,也可以不清理
~/Library/Caches/Homebrew

2.7 启动、停止mysql服务

  1. windows版本

    1. 此电脑 -> 右键 -> 管理 -> 服务 -> 找到MySQL80 -> 右键菜单

    2. 以管理员的身份运行命令行,使用命令完成操作

      net start mysql80			// 开启服务
      net stop mysql80			// 停止服务
      
  2. Mac版本

    1. 直装版

      左上角苹果logo -> 系统偏好设置 -> MySQL -> Start MySQL Server
      
    2. Homebrew版

      # 开启服务
      brew services start mysql
      # 停止服务
      brew services stop mysql
      # 查看服务
      brew services list
      

2.8 登录到MySQL

在控制台使用mysql的命令,完成登录和sql的操作。注意,如果windows平台上,需要手动配置环境变量。

# 这种方式的登录,敲回车后需要输入密码
1. mysql -u root -p				
# 将用户名和密码都写到指令中,注意:没有空格
2. mysql -uroot -p123456		

2.9 修改密码

# 在MySQL中,密码有几个安全等级,默认的为密码需要同时包含字母、数字、下划线,且长度至少8位
# 查看当前的密码策略
show variables like 'validate_password%';

# 如果结果是一个Empty Set,说明没有加载安全策略组件
install component 'file://component_validate_password';

# 这种密码安全,但是在我们学习阶段比较麻烦,因此我们会修改为简单的密码
# 如果需要修改为简单的密码,可以按照如下过程操作
set global validate_password.policy=LOW;
set global validate_password.length=4;
set global validate_password.mixed_case_count=0;
set global validate_password.number_count=0;
set global validate_password.special_char_count=0;

在知道原来的密码的情况下,下面的方式可以修改数据库的密码:

  • mysql> alter user root@localhost identified by‘新密码’;
  • C:\Users\shawn> mysqladmin -uroot –p旧密码 password 新密码

2.10 遗忘密码的情况

windows版本
  1. 停止MySQL80服务

  2. 使用管理员身份打开终端,输入./mysqld --shared-memory --skip-grant-tables,跳过身份检查

  3. 打开一个新的窗口,使用mysql的命令登录

  4. 修改密码

    mysql> flush privileges;
    mysql> alter user root@localhost identified by '123456';
    
  5. 退出所有的终端,重启MySQL服务即可

注意: 如果在上述第二步的时候出现如下错误

PS C:\Program Files\MySQL\MySQL Server 8.0\bin> .\mysqld.exe --shared-memory --skip-grant-tables
[System] [MY-010116] [Server] C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe (mysqld 8.0.27) starting as process 8512
[Warning] [MY-010091] [Server] Can't create test file C:\Program Files\MySQL\MySQL Server 8.0\data\mysqld_tmp_file_case_insensitive_test.lower-test
[Warning] [MY-010091] [Server] Can't create test file C:\Program Files\MySQL\MySQL Server 8.0\data\mysqld_tmp_file_case_insensitive_test.lower-test
[ERROR] [MY-013276] [Server] Failed to set datadir to 'C:\Program Files\MySQL\MySQL Server 8.0\data\' (OS errno: 2 - No such file or directory)
[ERROR] [MY-010119] [Server] Aborting
[System] [MY-010910] [Server] C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe: Shutdown complete (mysqld 8.0.27)  MySQL Community Server - GPL.

按照下面的方式操作即可:

  1. mysqld --initialize --user=mysql --console
  2. mysqld -install
    1. 如果出现The service already exists,执行sc delete mysql
windows平台简单版
  1. 停止MySQL的服务

  2. 在任意的路径下,新建一个文本文件,其中添加修改密码的操作

    # 例如:
    # 在桌面上创建一个文件 root_password.txt
    # 其中的内容如下
    alter user root@localhost identified by '12345678';
    
  3. 使用管理员身份运行命令提示符

    mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" --init-file="C:\Users\shawn\Desktop\root_password.txt"
    
  4. 回车运行之后,就可以ctrl+c停止了

  5. 启动MySQL的服务,用新的密码登录即可。

mac版本
  1. 停止mysql服务

  2. 打开my.cnf文件

    文件位置:

    dmg直装 -> /etc/my.cnf

    homebrew ->

    ​ intel -> /usr/local/homebrew/etc/my.cnf

    ​ M1 -> /opt/homebrew/etc/my.cnf

  3. 在文件末尾添加一行

    skip-grant-tables
    
  4. 不需要密码登录到MySQL,并修改密码

    # 登录到MySQL
    mysql -uroot -p		# 如果提示输入密码,直接回车即可
    # 刷新权限
    flush privileges;
    # 修改密码,密码要求同时包含大写字母、小写字母、数字,长度至少8位。
    # 如果想要修改为简单的密码,看下一段
    alter user 'root'@'localhost' identified by 'NewPassword123';
    
  5. 将服务停止

  6. 将my.cnf中,刚刚添加的一行跳过权限检查删除掉

  7. 启动MySQL服务

2.11 远程工具的使用

我们可以在控制台上进行sql的操作,但是操作的便利性会有很大的影响。实际上,很多时候我们进行的sql的操作都是在一些可视化的图形工具中完成的,这样开发的效率更高。这种工具有很多,在这里我们选择使用 Navicat。

image-20211122111352130

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

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

相关文章

SpringBoot启动过程源码解析

一,构造SpringApplication对象 1、推测web应用类型 如果项目依赖中存在org.springframework.web.reactive.DispatcherHandler,并且不存在org.springframework.web.servlet.DispatcherServlet,那么应用类型为WebApplicationType.REACTIVE如果…

【PaLM2】PaLM2 大语言模型与 Bard 使用体验

欢迎关注【youcans的学习笔记】原创作品,火热更新中 【Google I/O 2023】PaLM2 大语言模型与 Bard 使用体验 1. PaLM2 大型语言模型1.1 谷歌发布 PaLM21.2 PaLM2 的功能与性能 2. 基于 PaLM2 的谷歌 AI 产品2.1 智能助手 Duet AI2.2 Gmail:帮我写邮件2.3…

【Spring框架四】——Spring AOP 注解实现和xml方式实现

系列文章目录 【Spring框架一】——Spring框架简介 【Spring框架二】——什么是Spring IOC、 什么是Spring 依赖注入 【Spring框架三】——Spirng IOC和DI的实现 Spring AOP 注解实现和xml方式实现 系列文章目录前言一、什么是Spring AOP(Aspect-Oriented Progra…

OpenAI 宣布推出适用于 iPhone 和 iPad 的 ChatGPT 官方应用程序。

🚀 OpenAI 宣布推出适用于 iPhone 和 iPad 的 ChatGPT 官方应用程序。 OpenAI 宣布推出适用于 iPhone 和 iPad 的 ChatGPT 官方应用程序。 该应用程序具备即时回答各种问题、量身定制的建议、创意灵感、专业意见和个性化学习等功能和特性,可以帮助提高…

【密码产品篇】服务器密码机密钥体系结构

【密码产品篇】服务器密码机密钥体系结构 标准GM/T 0030-2014中规定服务器密码机必须至少支持三层密码体系结构,包括:“管理密钥、用户密钥/设备密钥/密钥加密密钥、会话密钥”。除"管理密钥"外,其他密钥可被用户使用,…

在图片上添加水印的四个方法

如何在图片上添加水印?在当今开放的互联网环境中,平时对于图片的使用已经变成非常广泛,越来越多的人开始关注图片的版权问题。如今,人们越来越注重防盗意识,这是因为我们在网上发布的图片很容易被别有用心之人盗用&…

Maven仓库

1、仓库 仓库:用于存储资源,主要是各种jar包 关于仓库,我们前面讲到了有三种:本地仓库,私服,中央仓库,其中私服和中央仓库都属于远程仓库 中央仓库:maven团队自身维护的仓库&#…

Java面试知识点(全)- Java并发-多线程JUC一

Java面试知识点(全) 导航: https://nanxiang.blog.csdn.net/article/details/130640392 注:随时更新 JUC框架 五个部分: 主要包含: (注意: 网上找的图,主体上可以看出其分类关系也够了) Lock框架和Tools类(把图中这两个放到一起…

一起Linux操作系统部署的Mysql数据库服务器/目录空间占用异常的分析事例

一台Linux操作系统部署的Mysql数据库服务器平时“/"目录占用很低,但每个小时都会出现一次根目录空间占用高的情况,本文系从OS侧对异常事件进行分析排查的过程。 1、初步分析 主机已进行监控,分析监控图表 可见该数据库服务器日常根目录…

王炸功能ChatGPT 联网插件功能放开,视频文章一键变思维导图

就在上周5月13日,Open AI 发文称:“我们将在下周向所有ChatGPT Plus 用户开放联网功能和众多插件”。 这意味着什么? 首先联网功能将使得ChatGPT不再局限于回答2021年9月之前的信息,能直接联网查询最新消息。 而插件功能就可以在…

基于LT6911UXC的LVDS视频接口调试经验

项目方案采用龙讯半导体LT6911系列。 该方案采用HDMI输出转LVDS接口。在本方案中有两种显示屏;一个是10.4寸,一个是15.6寸。分别应 单LVDS与双LVDS接口。 10.4寸屏幕的分辨率为1024*768;单八LVDS信号; 15.6寸的屏幕的分辨率为19…

SSD202D-MIPI屏点亮

调试mipi 点屏参考 - SigmaStarDocs Panel开发参考 - SigmaStarDocs 1.首先要看点屏参考,看懂硬件接线这些原理,然后依据实际的接线配置屏参 和RGB是复用的,所以不一样, 然后配置内核,我是直接编译mipi的内核 2.配置屏参,

如何进行测试分析与设计-HTSM启发式测试策略模型 | 京东云技术团队

测试,没有分析与设计就失去了灵魂; 测试人员在编写用例之前,该如何进行测试分析与设计呢?上次在《测试的底层逻辑》中讲到了【输入输出测试模型】,还讲到了【2W1H测试分析法】,但2W1H分析法是初步的分析方…

Sharding-JDBC分库分表

Sharding-JDBC分库分表 一 分库分表概述 ​ 分库分表,就是为了解决由于数据量过大而导致数据库性能降低的问题,将原来独立的数据库拆分成若干数据库组成,将数据大表拆分为若干数据表组成,使得单一数据库,单一数据表的…

深度学习在语音识别方面的应用

前言 语音识别是一项非常重要的技术,它可以将人类的语音转化为计算机可以理解的形式。深度学习是一种非常强大的机器学习技术,它在语音识别方面也有广泛的应用。本文将详细介绍深度学习在语音识别方面的应用。 语音识别的基本步骤 语音识别的基本步骤包…

KDZD5550系列电压击穿试验仪系统组成

一、产品概述 KDZD5550系列电压击穿试验仪根据国家GB1408.1-2006《绝缘材料电气强度试验方法》其作用可称为电气绝缘强度试验仪、介质强度测试仪等。其工作原理是:把一个高于正常工作的电压加在被测设备的绝缘体上,持续一段规定的时间,加在上…

《软技能:代码以外的生存指南》阅读总结

文章收录: 个人网址:http://linglan01.cn/Github仓库:https://github.com/CatsAndMice/blog/issues 推荐一篇蛮有营养的文章速读《软技能 代码之外的生存指南》。 我比较喜欢实体书籍,所以自己干脆买一本《软技能:代码…

2023年5月DAMA-CDGA/CDGP数据治理认证考试报名

DAMA认证为数据管理专业人士提供职业目标晋升规划,彰显了职业发展里程碑及发展阶梯定义,帮助数据管理从业人士获得企业数字化转型战略下的必备职业能力,促进开展工作实践应用及实际问题解决,形成企业所需的新数字经济下的核心职业…

c++(类和对象下)

本节目标 1. 再谈构造函数 2. Static成员 3. 友元 4. 内部类 5.匿名对象 6.拷贝对象时的一些编译器优化 7. 再次理解封装 目录 1、再谈构造函数 1.1构造函数体赋值 1.2初始化列表 2 static 成员 2.1概念 2.2特性 3.友元 3.1友元函数 3.2友元类 4.内部类 5匿名对…

甘特图控件DHTMLX Gantt教程:用PHP:Laravel实现Gantt(上)

DHTMLX Gantt是用于跨浏览器和跨平台应用程序的功能齐全的Gantt图表。可满足项目管理应用程序的大部分开发需求,具备完善的甘特图图表库,功能强大,价格便宜,提供丰富而灵活的JavaScript API接口,与各种服务器端技术&am…