关键词:
【NodeJs-5天学习】第四天篇① ——安装mysql 8.0
面向读者群体
- ❤️ 电子物联网专业同学,想针对硬件功能构造简单的服务器,不需要学习专业的服务器开发知识 ❤️
- ❤️ 业余爱好物联网开发者,有简单技术基础,想针对硬件功能构造简单的服务器❤️
- ❤️ 本篇创建记录 2023-03-12 ❤️
- ❤️ 本篇更新记录 2023-03-12 ❤️
技术要求
- 有HTML、CSS、JavaScript基础更好,当然也没事,就直接运行实例代码学习
专栏介绍
- 通过简短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服务的登录和退出
- 输入命令
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的世界。
- 输入命令
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
-
查看生成的数据库
-
找到表,右键选择
新增表
-
填写新表配置信息
-
在列的空白处右击,新建列。这里分别加
ids
和name
两列
这里默认值要去掉
。
-
给表加个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.大型网站特性既然说的是大型网站架构,那么架构的背后自然是解决人因面对大型网站特性而... 查看详情