物联网服务nodejs-5天学习第四天存储篇①——安装使用mysql8.0(代码片段)

单片机菜鸟哥 单片机菜鸟哥     2023-03-13     745

关键词:

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

面向读者群体

  • ❤️ 电子物联网专业同学,想针对硬件功能构造简单的服务器,不需要学习专业的服务器开发知识 ❤️
  • ❤️ 业余爱好物联网开发者,有简单技术基础,想针对硬件功能构造简单的服务器❤️
  • ❤️ 本篇创建记录 2023-03-12 ❤️
  • ❤️ 本篇更新记录 2023-03-12 ❤️

技术要求

  • HTMLCSSJavaScript基础更好,当然也没事,就直接运行实例代码学习

专栏介绍

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

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

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),一般选择社区免费下载。



我们这里下载(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等等

可以参考资料:

2.4.1 下载

在官网进行下载。

我们下载最近几个版本:

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操作。麻雀虽小五脏俱全,初学者需要慢慢理解并加以实际应用。后续篇章会直接使用数据库来讲解。

物联网服务nodejs-5天学习第四天存储篇③——基于物联网的wifi自动打卡考勤系统,升级存储为mysql,提醒功能改为qq(代码片段)

【NodeJs-5天学习】第四天存储篇③——基于物联网的WiFi自动打卡考勤系统,升级存储为mysql,提醒功能改为QQ1.前言2.服务器代码2.1配置MySQL服务器2.2NodeJs服务器开发2.2.1对接Express服务器2.2.2对接Mac地址处理2.2.3对接QQ群处理3... 查看详情

物联网服务nodejs-5天学习第四天存储篇④——基于mqtt的环境温度检测,升级存储为mysql(代码片段)

...outer3.ESP8266代码4.测试效果4.总结面向读者群体❤️电子物联网专业同学,想针对硬件功能构造简单的服务器,不需要学习专业的服务器开发知识❤️❤️业余爱好物联网开发者,有简单技术基础,想针对硬件功能... 查看详情

物联网nodejs-5天学习第四天存储篇⑤——pm2,node.js应用进程管理器(代码片段)

...方式接入(可选)7.总结面向读者群体❤️电子物联网专业同学,想针对硬件功能构造简单的服务器,不需要学习专业的服务器开发知识❤️❤️业余爱好物联网开发者,有简单技术基础,想针对硬件功能... 查看详情

物联网服务nodejs-5天学习第二天篇①——fs文件系统(代码片段)

...2.8读取目录2.9删除目录3、总结面向读者群体❤️电子物联网专业同学,想针对硬件功能构造简单的服务器,不需要学习专业的服务器开发知识❤️❤️业余爱好物联网开发者,有简单技术基础,想针对硬件功能构... 查看详情

物联网服务nodejs-5天学习第三天实战篇①——10行代码给她造个熬夜提醒睡觉机器人(代码片段)

...任务模块2.3.3编写10行代码3.总结面向读者群体❤️电子物联网专业同学,想针对硬件功能构造简单的服务器,不需要学习专业的服务器开发知识❤️❤️业余爱好物联网开发者,有简单技术基础,想针对硬件功能... 查看详情

基于物联网的nodejs-5天学习入门指引

...一天第二天第三天第四天第五天面向读者群体❤️电子物联网专业同学,想针对硬件功能构造简单的服务器,不需要学习专业的服务器开发知识❤️❤️业余爱好物联网开发者,有简单技术基础,想针对硬件功能... 查看详情

物联网服务nodejs-5天学习第三天实战篇②——基于物联网的wifi自动打卡考勤系统(代码片段)

【NodeJs-5天学习】第三天实战篇②——基于物联网的WiFi自动打卡考勤系统1.前言2.实现思路2.1NodeJs服务器代码2.1.1对接Express服务器2.1.2对接Mac地址处理2.1.3对接飞书群处理2.2ESP8266代码2.3测试效果2.3.1串口打印日志2.3.2NodeJs服务器打... 查看详情

物联网服务nodejs-5天学习第一天篇①——第一次认识nodejs(代码片段)

...籍推荐2.5.2进阶书籍推荐3、总结面向读者群体❤️电子物联网专业同学,想针对硬件功能构造简单的服务器,不需要学习专业的服务器开发知识❤️❤️业余爱好物联网开发者,有简单技术基础,想针对硬件功能... 查看详情

物联网服务nodejs-5天学习第三天实战篇③——基于mqtt的环境温度检测(代码片段)

...c;这里以#1为例2.3测试效果4.总结面向读者群体❤️电子物联网专业同学,想针对硬件功能构造简单的服务器,不需要学习专业的服务器开发知识❤️❤️业余爱好物联网开发者,有简单技术基础,想针对硬件功能... 查看详情

物联网服务nodejs-5天学习第二天篇③——expressweb框架和中间件(代码片段)

【NodeJs-5天学习】第二天篇③——ExpressWeb框架和中间件1.前言1.1Express简介1.2Express能做什么2.Express快速入门2.1①安装`express`、`body-parser`、`moment`模块2.2②导入`express`、`body-parser`模块2.3③创建web服务器... 查看详情

物联网服务nodejs-5天学习第二天篇④——项目模块化(代码片段)

...器入口模块——app_server.js5.总结面向读者群体❤️电子物联网专业同学,想针对硬件功能构造简单的服务器,不需要学习专业的服务器开发知识❤️❤️业余爱好物联网开发者,有简单技术基础,想针对硬件功能... 查看详情

物联网服务nodejs-5天学习第三天实战篇④——qq机器人,实现自动回复重要提醒(代码片段)

....2.3群聊匹配词2.3测试效果3.总结面向读者群体❤️电子物联网专业同学,想针对硬件功能构造简单的服务器,不需要学习专业的服务器开发知识❤️❤️业余爱好物联网开发者,有简单技术基础,想针对硬件功能... 查看详情

物联网服务nodejs-5天学习第二天篇②——网络编程(tcphttpweb应用服务)(代码片段)

【NodeJs-5天学习】第二天篇②——网络编程1、client/server结构2.服务器相关概念2.1IP地址和端口号2.2DNS域名服务3.构建TCP3.1TCP3.2创建TCP服务器端3.2.1导入`net`模块3.2.2创建`TCP服务器实例`,监听socket事件3.2.2.1connect事件3... 查看详情

物联网服务nodejs-5天学习第一天篇④——了解nodejs回调函数和事件驱动机制(代码片段)

...动2.2深入NodeJs事件驱动3、总结面向读者群体❤️电子物联网专业同学,想针对硬件功能构造简单的服务器,不需要学习专业的服务器开发知识❤️❤️业余爱好物联网开发者,有简单技术基础,想针对硬件功能构... 查看详情

物联网服务nodejs-5天学习第一天篇③——vscode上运行第一个nodejs程序,配置自动重启插件nodemon(代码片段)

...,验证自动重启效果4、总结面向读者群体❤️电子物联网专业同学,想针对硬件功能构造简单的服务器,不需要学习专业的服务器开发知识❤️❤️业余爱好物联网开发者,有简单技术基础,想针对硬件功能... 查看详情

物联网服务nodejs-5天学习第一天篇②——安装nodejs环境以及vscode开发工具(代码片段)

【NodeJs-5天学习】第一天篇②——安装环境以及开发工具1、Node.js环境安装1.1下载安装文件1.2安装步骤1.3常规配置,主要是NPM1.3.1查看配置1.3.2配置国内下载镜像1.3.3尝试下载安装包1.4NPM使用介绍1.4.1查看当前npm版本——npm-v、np... 查看详情

[博客园首发]写连载博客,历时1410天出版书籍《物联网软件架构设计与实现》

...展的过程。2020年12月04日签订出版协议,到最终出版《物联网软件架构设计与实现》(北京大学出版社),历时622天。2015年07月14日22:33在博客园上发表第一篇博客,2017年09月09日23:07发表最后一篇博客,历时788天,主要是想记录... 查看详情

互联网技术架构演变过程-软件架构设计学习第四天(非原创)

文章大纲一、演变过程思路图二、何为大型网站三、架构体系演进四、架构总结五、参考文章一、演变过程思路图二、何为大型网站1.大型网站特性既然说的是大型网站架构,那么架构的背后自然是解决人因面对大型网站特性而... 查看详情