物联网服务NodeJs-5天学习第四天存储篇① ——安装使用mysql 8.0
Posted 单片机菜鸟哥
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了物联网服务NodeJs-5天学习第四天存储篇① ——安装使用mysql 8.0相关的知识,希望对你有一定的参考价值。
【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天学习第四天存储篇① ——安装使用mysql 8.0的主要内容,如果未能解决你的问题,请参考以下文章
物联网服务NodeJs-5天学习第四天存储篇④ ——基于MQTT的环境温度检测,升级存储为mysql
物联网服务NodeJs-5天学习第四天存储篇③ ——基于物联网的WiFi自动打卡考勤系统,升级存储为mysql,提醒功能改为QQ
物联网NodeJs-5天学习第四天存储篇⑤ ——PM2,node.js应用进程管理器
物联网服务NodeJs-5天学习第二天篇① ——fs文件系统