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

【NodeJs-5天学习】第四天存储篇① ——安装使用mysql 8.0

【NodeJs-5天学习】第四天篇① ——安装mysql 8.0

    • 1. 前言
    • 2. MySql 8.0
      • 2.1 下载
      • 2.2 安装
      • 2.3 常用命令
        • 2.3.1 MySQL服务的启动和停止
        • 2.3.2 MySQL服务的登录和退出
        • 2.3.3 MySQL 修改密码
        • 2.3.4 查看当前数据库版本
        • 2.3.5 查看所有的数据库
      • 2.4 利用三方工具操作mysql —— dbeaver
        • 2.4.1 下载
        • 2.4.2 安装
        • 2.4.3 连接mysql
        • 2.4.4 创建NodeJs数据库
        • 2.4.5 运行sql语句
    • 3.总结

面向读者群体

  • ❤️ 电子物联网专业同学,想针对硬件功能构造简单的服务器,不需要学习专业的服务器开发知识 ❤️
  • ❤️ 业余爱好物联网开发者,有简单技术基础,想针对硬件功能构造简单的服务器❤️

技术要求

  • 有HTML、CSS、JavaScript基础更好,当然也没事,就直接运行实例代码学习

专栏介绍

  • 通过简短5天时间的渐进式学习NodeJs,可以了解到基本的服务开发概念,同时可以学习到npm、内置核心API(FS文件系统操作、HTTP服务器、Express框架等等),最终能够完成基本的web开发,而且能够部署到公网访问。

学习交流群

  • NodeJs物联网五天入门学习之旅(搜索:729040020

🙏 此博客均由博主单独编写,不存在任何商业团队运营,如发现错误,请留言轰炸哦!及时修正!感谢支持!🎉 欢迎关注 🔎点赞 👍收藏 ⭐️留言📝

1. 前言

在这里插入图片描述
在这里插入图片描述
截取自百度百科 。

互联网时代,我们都是在跟数据打交道,例如:

  • 天猫淘宝上热卖产品,个人历史订单
  • 微信朋友圈聊天记录
  • 手机本地通信录

可以毫不夸张地说,只要涉及到互联网,始终离不开数据。

那么数据就得有地方去存放,并且是持久化存放(总不能全部数据直接加载在内存中,然后断电GG)。

并且为了快速查询到我们需要的数据(一些大系统数据库至少过T,总不能全库扫描),那么总得有一个系统去帮我们做这件事情。

那么就得有一个系统能满足以下两点要求:

  • 持久化存储(硬盘文件系统)
  • 快速查询目标数据(也叫做快速索引,那么就意味着我们的数据肯定处于某种有效的组织中 —— 从算法角度来说,就是数据结构,举个例子:教育局为了管理学生资料,给每一个学生分配一个唯一的学号,通过学号来找到每个学生)

能满足以上两个条件的系统就是我们常说的数据库管理系统(DataBase Manager System,DBMS),在DBMS下管理着数据库(DataBase,DB),最终我们通过SQL
结构化查询语言
Structured query language)来对数据库进行CURD(增删改查)。

注意:我们常说数据库,其实指的是整个数据库管理系统,包括DBMD和DB。

在众多的数据库管理系统中,最受大众喜欢也是目前绝大部分公司都在使用的就是MySQL(开源、免费,意味着接入成本低),这也是我们为什么要学习它的原因。

2. MySql 8.0

Mysql采用C-S架构,也就是Client-Server,所以我们首先需要安装 MySql Server。

2.1 下载

可以选择企业版本社区版本(Community Downloads),一般选择社区免费下载。

  • https://dev.mysql.com/downloads/

在这里插入图片描述
在这里插入图片描述
我们这里下载(Download)8.0.30 版本。

在这里插入图片描述

2.2 安装

下载完成后直接双击进行安装,打开后的页面如下所示:
选择自定义custom安装模式,接着下一步

在这里插入图片描述
不同的安装模式会携带不同的插件内容。

  • Developer Default:默认安装
  • Server only:仅安装服务器
  • Client Only:仅安装客户端
  • Full:安装全部产品,比较消耗磁盘空间
  • Custom:手动安装,自己选择

由于我们选择了Custom,所以这里我们需要人工选择MySQL Server,把它移动到右边

在这里插入图片描述
在这里插入图片描述
点击安装。
在这里插入图片描述
在这里插入图片描述
安装完之后需要配置一些服务器信息,默认即可。
在这里插入图片描述
配置端口号,协议。默认即可
在这里插入图片描述
使用传统身份验证方法,保持 5.x兼容
在这里插入图片描述
配置管理员账号密码。默认账号root,这里配置密码为123456。后面登陆服务器要用到,务必记住。
在这里插入图片描述
在这里插入图片描述
把上面所有的配置都执行起来。静静等待几分钟。
在这里插入图片描述
可惜,第一次安装失败了,为什么呢?
在这里插入图片描述
查看一下具体原因。
在这里插入图片描述

服务是运行起来了,但是登陆失败了,需要配置一下本地服务。

  • 右键我的电脑,点击管理
  • 点击服务和应用程序
    在这里插入图片描述
  • 点击服务
    在这里插入图片描述
  • 找到MySQL右键,点击属性,选择登录,选择本地系统账户
    在这里插入图片描述
    在这里插入图片描述

再次把上面所有的配置都执行起来。静静等待几分钟。
在这里插入图片描述
这时候我们可以看看安装目录有什么文件?
在这里插入图片描述
环境变量配置一下Path
在这里插入图片描述

2.3 常用命令

命令最好用管理员权限执行cmd终端。

2.3.1 MySQL服务的启动和停止

  • 1.以管理员身份运行命令提示符

在这里插入图片描述
在这里插入图片描述
注意,管理员身份和普通用户身份不一样

  • 2.输入命令
  • net start mysql80
    即可运行MySQL服务,此处mysql80是服务名,若安装时你没有更改过名称,则默认的服务名是mysql80
    在这里插入图片描述
  • 3.输入命令
  • net stop mysql80
    即可停止MySQL服务(此处的mysql80同样是服务名)

2.3.2 MySQL服务的登录和退出

  1. 输入命令
  • mysql -h 主机名 -P 端口号 -u 用户名 -p密码

比如这里我们可以为:

  • mysql -h localhost -P 3306 -u root -p123456
  • (其中,h代表host主机,P代表Port端口号,u代表user用户名,p代表密码。且,h和localhost,P和端口号,u和用户名之间的空格可省略。)
  • 为保密起见,输入-p之后(即mysql -h localhost -P 3306 -u root -p),按下回车键,此时再输入密码时为不可见了。
  • 如果登录的是 本机的端口号是3306,命令可简写:mysql -u root -p密码

在这里插入图片描述
当出现 mysql> 表示我们正式进入mysql的世界。

  1. 输入命令
  • exit 或者 ctrl + Z
    即可退出mysql
    在这里插入图片描述

2.3.3 MySQL 修改密码

  • 1.先登录进mysql,即用上面的命令:mysql -h 主机名 -P 端口号 -u 用户名 -p密码
  • 2.进入mysql后,输入命令:

ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘新密码’;

  • 新密码填写为一个新的
  • 注意,进入mysql后的任何命令都要加英文的分号“;
    在这里插入图片描述
  • 3.退出再重新登录看看
    在这里插入图片描述

2.3.4 查看当前数据库版本

select version();

在这里插入图片描述

2.3.5 查看所有的数据库

  • show databases;

在这里插入图片描述
默认自带了4个数据库。

  • information_schema:这个数据库保存了mysql服务器所有数据库的信息。比如数据库的名、数据库的表、访问权限、数据库表的数据类型,数据库索引的信息等等。
  • performance_schema:主要用于收集数据库服务器性能参数,可用于监控服务器在一个较低级别的运行过程中的资源消耗、资源等待等情况。
  • sys:库中所有的数据源来自:performance_schema。目标是把performance_schema的把复杂度降低,让DBA能更好的阅读这个库里的内容。让DBA更快的了解DB的运行情况。MYSQL的SYS数据库
    mysql:mysql的核心数据库,类似于sql server中的master表,主要负责存储数据库的用户、权限设置、关键字等mysql自己需要使用的控制和管理信息。

2.4 利用三方工具操作mysql —— dbeaver

dbeaver是一款很强大的数据库连接工具。支持mysql、sqlServer、SQLite等等

可以参考资料:

  • DBeaver安装与使用教程(超详细安装与使用教程),好用免费的数据库管理工具

2.4.1 下载

在官网进行下载。

  • https://dbeaver.io/download/
  • 在这里插入图片描述

我们下载最近几个版本:

  • https://dbeaver.io/files/22.2.0/
    在这里插入图片描述

2.4.2 安装

博主用的是windows,下面会着重介绍windows版的使用。
下载的版本是这个——dbeaver-ce-22.2.0-x86_64-setup.exe

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.4.3 连接mysql

  • 打开dbeaver。
    在这里插入图片描述
  • 选择mysql
    在这里插入图片描述
  • 填上密码,测试连接
    在这里插入图片描述
    首次会提示你下载驱动
    在这里插入图片描述
    再次点击测试连接
    在这里插入图片描述
  • 最后面点击完成。
    在这里插入图片描述
    这就是mysql服务器默认的数据信息。

2.4.4 创建NodeJs数据库

  • 找到数据库,右键选择新增数据库
    在这里插入图片描述

  • 输入库名为nodejs
    在这里插入图片描述

  • 查看生成的数据库
    在这里插入图片描述

  • 找到表,右键选择新增表
    在这里插入图片描述

  • 填写新表配置信息
    在这里插入图片描述

  • 在列的空白处右击,新建列。这里分别加idsname两列
    在这里插入图片描述
    在这里插入图片描述
    这里默认值要去掉
    在这里插入图片描述

  • 给表加个id索引
    在这里插入图片描述
    在这里插入图片描述

  • 确定执行语句
    在这里插入图片描述
    对应DDL:

CREATE TABLE `test` (
  `name` varchar(100) DEFAULT NULL,
  `ids` int NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`ids`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='用来测试表';
  • 查看表数据
    在这里插入图片描述
    ok,这时候创建成功了。

  • 往刚才的数据表新增两条数据试试
    在这里插入图片描述
    找到数据-> 网格 -> 新增行 ->填入数据 ->保存
    在这里插入图片描述

2.4.5 运行sql语句

  • 打开sql编辑器
    在这里插入图片描述
  • 输入测试命令 select * from test
    在这里插入图片描述
  • 加个过滤条件 select * from test where ids = 1
    在这里插入图片描述
  • 插入一条数据 insert into test(name) values('张无忌');
    在这里插入图片描述
    在这里插入图片描述
  • 更新一条数据 update test set name='太极张三丰' where name='张三丰';
    把张三丰改成太极张三丰
    在这里插入图片描述
  • 删除一条数据 delete from test where name='太极张三丰'
    把名字为“太极张三丰”的数据从test数据表中删除。
    在这里插入图片描述

3.总结

篇①主要介绍mysql相关知识,包括安装、运行以及通过第三方工具dbeaver来连接mysql服务器并完成简单的sql操作。麻雀虽小五脏俱全,初学者需要慢慢理解并加以实际应用。后续篇章会直接使用数据库来讲解。

相关文章:

  • 【Verilog 流水线设计】以全加器为例阐述流水线设计的影响
  • spring boot 使用Mybatis-plus的查询方法
  • nginx中root和alias的区别
  • pytorch深度学习训练模板
  • 【Qt+FFMPEG】 - 封装 解码音视频 线程
  • Arduino框架下最便宜的开发芯片-CH552初探
  • Java高并发编程实战5,异步注解@Async自定义线程池
  • 前端进阶——ES6
  • (三)centos7案例实战—vmware虚拟机硬盘挂载与卸载
  • 【Python+大数据】第一天:安装VMware及Centos,配置虚拟机网络,学习Linux命令。研究生开学10天的感受。
  • (2)关于RabbitMq 的 Topic Exchange 主题交换机
  • JAVA代码操作HDFS
  • web前端开发基础教程一
  • 原子尺度仿真对材料设计效率的提升,是未来材料研发的关键核心竞争力
  • CDH 10Cloudera Manager Kerberos安装配置CA配置(markdown新版三)
  • Docker 笔记(2):Dockerfile
  • go append函数以及写入
  • Javascript弹出层-初探
  • JS字符串转数字方法总结
  • maven工程打包jar以及java jar命令的classpath使用
  • php ci框架整合银盛支付
  • 分布式任务队列Celery
  • 个人博客开发系列:评论功能之GitHub账号OAuth授权
  • 开发基于以太坊智能合约的DApp
  • 面试题:给你个id,去拿到name,多叉树遍历
  • 通过npm或yarn自动生成vue组件
  • 网络应用优化——时延与带宽
  • 原生js练习题---第五课
  • 做一名精致的JavaScripter 01:JavaScript简介
  • #绘制圆心_R语言——绘制一个诚意满满的圆 祝你2021圆圆满满
  • $.ajax()
  • (1) caustics\
  • (2009.11版)《网络管理员考试 考前冲刺预测卷及考点解析》复习重点
  • (Java岗)秋招打卡!一本学历拿下美团、阿里、快手、米哈游offer
  • (二)c52学习之旅-简单了解单片机
  • (附源码)计算机毕业设计高校学生选课系统
  • (原創) 物件導向與老子思想 (OO)
  • ****** 二十三 ******、软设笔记【数据库】-数据操作-常用关系操作、关系运算
  • ../depcomp: line 571: exec: g++: not found
  • .bat批处理(二):%0 %1——给批处理脚本传递参数
  • .net core IResultFilter 的 OnResultExecuted和OnResultExecuting的区别
  • .NET Core WebAPI中封装Swagger配置
  • .NET Core/Framework 创建委托以大幅度提高反射调用的性能
  • .Net IOC框架入门之一 Unity
  • .NET:自动将请求参数绑定到ASPX、ASHX和MVC(菜鸟必看)
  • .NET关于 跳过SSL中遇到的问题
  • .NET使用HttpClient以multipart/form-data形式post上传文件及其相关参数
  • .NET文档生成工具ADB使用图文教程
  • .vue文件怎么使用_我在项目中是这样配置Vue的
  • /dev/VolGroup00/LogVol00:unexpected inconsistency;run fsck manually
  • /usr/local/nginx/logs/nginx.pid failed (2: No such file or directory)
  • [ 数据结构 - C++] AVL树原理及实现
  • [ 云计算 | AWS ] 对比分析:Amazon SNS 与 SQS 消息服务的异同与选择
  • [20170713] 无法访问SQL Server
  • [Angular] 笔记 8:list/detail 页面以及@Input