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

文章目录

      • 第一章 数据库简介
        • 1.1 数据库的简介
        • 1.2 数据库的分类
      • 第二章 数据库的安装与配置
        • 2.1 安装: Windows版
        • 2.2 卸载: Windows版
        • 2.3 安装: Mac直装版
        • 2.4 卸载: Mac直装版
        • 2.5 安装: Mac Homebrew版
        • 2.6 卸载: Mac Homebrew版
        • 2.7 启动、停止mysql服务
        • 2.8 登录到MySQL
        • 2.9 修改密码
        • 2.10 遗忘密码的情况
          • windows版本
          • windows平台简单版
          • mac版本
        • 2.11 远程工具的使用

在大数据的课程中,我们需要处理的数据来自不同的渠道,其中有一个很重要的渠道就是关系型数据库中存储的数据。在企业中,会把业务数据存储在关系型数据库中,一般以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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【dcdc】AP2813 DCDC降压恒流芯片 两路输出 一路恒流 一路瀑闪 电动摩托汽车灯方案

1,方案来源:深圳市世微半导体有限公司 汤巧 2,产品描述 AP2813 是一款双路降压恒流驱动器,高效率、外围简单、内置功率管,适用于 5-80V 输入的高精度降压 LED 恒流驱动芯片。内置功率管输出最大功率可达12W,最大电流…

从零开始学习JVM(五)-运行时数据区的方法区

1. 方法区基本介绍 官方文档:The Java Virtual Machine Specification 《Java虚拟机规范》中明确说明:“尽管所有的方法区在逻辑上是属于堆的一部分,但一些简单的实现可能不会选择去进行垃圾收集或者进行压缩。”但对于HotSpotJVM而言&…

webpack将vue3单页面应用改造成多页面应用

上篇文章搞了个单页面vue,现在要将其改成多页面,只是简单尝试,给了例子 其实也就是改个webpack的入口和html模版的配置,其他的话,每个页面都有自己的vue和路由实例,pinia的话就共享吧 !import…

Java版本电子招标采购系统源代码—企业战略布局下的采购寻源

智慧寻源 多策略、多场景寻源,多种看板让寻源过程全程可监控,根据不同采购场景,采取不同寻源策略, 实现采购寻源线上化管控;同时支持公域和私域寻源。 询价比价 全程线上询比价,信息公开透明,可…

# 性能诊断 JProfiler 工具使用

性能诊断 JProfiler 工具使用 JProfiler是一个重量级的JVM监控工具,提供对JVM精确监控,其中堆遍历、CPU剖析、线程剖析看成定位当前系统瓶颈的得力工具。可以统计压测过程中JVM的监控数据,定位性能问题。 官网地址:Java Profiler…

shallowRef和shallowReactive的使用?

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、 shallowRef?二、 shallowReactive?在什么时候使用? 三、案例1、shallowRef2、shallowReactive 提示:以下是本篇…

App Store上线APP流程

现在App Store上已经有数百万款应用,因此对于App的规范要求也越来越高,对于新上线的APP需要满足这些规则并不是件容易的事。今天和大家分享这方面的知识,希望大家喜欢。北京木奇移动技术有限公司,专业的软件外包开发公司&#xff…

浙大数据结构第六周之初识图

题目详情:06-图1 列出连通集 给定一个有N个顶点和E条边的无向图,请用DFS和BFS分别列出其所有的连通集。假设顶点从0到N−1编号。进行搜索时,假设我们总是从编号最小的顶点出发,按编号递增的顺序访问邻接点。 输入格式: 输入第1…

飞书接入ChatGPT - 将ChatGPT集成到飞书机器人,直接拉满效率

文章目录 前言环境列表视频教程1.飞书设置2.克隆feishu-chatgpt项目3.配置config.yaml文件4.运行feishu-chatgpt项目5.安装cpolar内网穿透6.固定公网地址7.机器人权限配置8.创建版本9.创建测试企业10. 机器人测试 转载自远控源码文章:飞书接入ChatGPT - 将ChatGPT集…

服务(第二十八篇)rsync

配置rsync源服务器: #建立/etc/rsyncd.conf 配置文件 vim /etc/rsyncd.conf #添加以下配置项 uid root gid root use chroot yes #禁锢在源目录 address 192.168.80.10 …

庄懂的TA笔记(十四十六)<特效:火焰 + 水流>

庄懂的TA笔记(十四&十六)<特效:火焰 水流> 目录 一、作业展示: 二、示范:火: 参考资料: 实现思路: 实践操作: 三、示范:水: 实现思路&am…

PCB 布线技术~PCB结构:Traces,电源平面

PCB导体:Traces • 铜是PCB中最常用的导体 – 走线或连接器一般通过镀金来提供一个抗腐蚀的电传导特性 – 走线的宽度和长度-由PCB布线工程师控制 • 在通常的制造工艺下,走线的宽度和之间的间距一般要≥5 mil – 走线厚度-制造工艺的变量 • 典型值 0.5oz – 3oz •…

C++(2):变量和基本类型

基本内置类型 C定义了一套包括算术类型(arithmetic type)和空类型(void)在内的基本数据类型。其中算术类型包含了字符、整型数、布尔值和浮点数。空类型不对应具体的值。 算数类型 算数类型分为两类:整型&#xff0…

【Linux】多种环境变量介绍与设置

文章目录 一. linux环境变量介绍1. linux中的环境变量配置文件2. 环境变量加载顺序 二. 操作环境变量1. 读取环境变量envexportecho $PATH 2. 设置环境变量2.1. export PATH:临时的环境变量2.2. 用户的环境变量vim ~/.bashrcvim ~/.bash_profile 2.3. 所有用户的环境…

网络原理(四):传输层协议 TCP/UDP

目录 应用层 传输层 udp 协议 端口号 报文长度(udp 长度) 校验和 TCP 协议 确认应答 超时重传 链接管理 滑动窗口 流量控制 拥塞控制 延时应答 捎带应答 总结 我们第一章让我们对网络有了一个初步认识,第二章和第三章我们通…

SpringBoot 整合 ChatGPT API 项目实战

SpringBoot 整合 ChatGPT API 项目实战 一、准备工作 二、补全接口示例 三、申请API-KEY 四、JavaScript调用API 五、SpringBoot使用ChatGPT API 体验到了ChatGPT的强大之后,那么我们会想,如果我们想基于ChatGPT开发一个自己的聊天机器人&#xff0…

论文、专利、文献检索及图像数据工具总结

一、文献检索 1、中文文献检索参考 中文文献途径网址用途1知网https://www.cnki.net/文献检索、下载2万方数据网https://www.wanfangdata.com.cn/文献检索、下载3维普期刊http://lib.cqvip.com/文献检索、下载4浙江图书馆https://www.zjlib.cn/#searchs_1_div文献检索、下载5…

html监听界面被隐藏或显示

vue相比于小程序和uni-app 显然少了两个有点用的生命周期 onShow 应用被展示 onHide 应用被隐藏 但其实这个 要做其实也很简单 JavaScript中 有对应的visibilitychange事件可以监听 我们Html参考代码如下 <!DOCTYPE html> <html lang"en"> <head>…

8. 机器学习系统设计

假设你想建立一个垃圾邮件分类器&#xff0c;通过监督学习来构造一个分类器来区分垃圾邮件和非垃圾邮件。为了应用监督学习&#xff0c;首先要想的就是&#xff1a;如何来表示邮件的特征向量x&#xff0c;通过特征向量x和分类标签y&#xff0c;我们就能训练一个分类器&#xff…

07-通过RocketMQ和Redis实现用户动态提醒

1、用户动态表 CREATE TABLE `t_user_moments` (`id` bigint(12) unsigned NOT NULL AUTO_INCREMENT COMMENT 主键id,`user_id` bigint(12) DEFAULT NULL COMMENT 用户id,`user_type` int(8) DEFAULT NULL COMMENT 动态类型:0视频 1直播 2专栏动态,`contend_id` bigint(12) D…