搭建阿里云Linux版服务器+使用docker安装EMQ、Node-RED、MySQL+本地Navicat访问数据库(增删改查)——详细流程

搭建阿里云Linux版服务器+使用docker安装EMQ、Node-RED、MySQL+本地Navicat访问数据库

  • 云服务器基础搭建
    • 注册云服务器
    • XShell简介
    • 部署EMQ
    • 部署docker
    • 物联网平台Node-RED
    • MQTT.fx的安装和使用
    • 安装MySQL数据库
    • Navicat for MySQL —— 在线数据库管理工具

云服务器基础搭建

Ubuntu常用命令大全 https://blog.csdn.net/comway_Li/article/details/81147427

注册云服务器

跳转之前写的博客
如:搭建阿里云Windows版服务器+建立MySQL数据库+本地Navicat访问数据库(增删改查)——详细流程 —— 博客

阿里云手动部署MySQL数据库

这篇博客讲述 如何在Linux系统 —— Ubuntu系统搭建物联网云平台 数据库

进入云服务器
搭建阿里云Linux版服务器+使用docker安装EMQ、Node-RED、MySQL+本地Navicat访问数据库(增删改查)——详细流程_第1张图片

XShell简介

XShell是一个强大的安全终端模拟软件,它支持SSH1,SSH2,以及Microsoft Windows平台的TELNET协议。
XShell可以在Windows界面下用来访问远端不同系统下的服务器,从而比较好的达到远程控制终端的目的。

由于在虚拟机中操作Linux系统需要频繁切换鼠标,缺乏个性化设置,不支持中文显示,所以我们将使用XShell来连接并使用安装好Linux系统的虚拟机

百度链接 Xshell5 链接:https://pan.baidu.com/s/1o4hOCeT3E6jb9UsqsA9UMg 提取码:ljxf

输入公网IP地址

搭建阿里云Linux版服务器+使用docker安装EMQ、Node-RED、MySQL+本地Navicat访问数据库(增删改查)——详细流程_第2张图片
搭建阿里云Linux版服务器+使用docker安装EMQ、Node-RED、MySQL+本地Navicat访问数据库(增删改查)——详细流程_第3张图片

搭建阿里云Linux版服务器+使用docker安装EMQ、Node-RED、MySQL+本地Navicat访问数据库(增删改查)——详细流程_第4张图片搭建阿里云Linux版服务器+使用docker安装EMQ、Node-RED、MySQL+本地Navicat访问数据库(增删改查)——详细流程_第5张图片

搭建阿里云Linux版服务器+使用docker安装EMQ、Node-RED、MySQL+本地Navicat访问数据库(增删改查)——详细流程_第6张图片已进入Ubuntu系统 root用户权限

部署EMQ

面向物联网的现代数据基础设施
通过云边端统一的物联网数据「连接、移动、处理和分析」,助力构建「面向未来」的物联网解决方案,服务企业数字化、实时化、智能化转型升级

搭建阿里云Linux版服务器+使用docker安装EMQ、Node-RED、MySQL+本地Navicat访问数据库(增删改查)——详细流程_第7张图片产品部署建议 Linux 服务器,不推荐 Windows 服务器
通过 Docker 运行 (包含简单的 docker-compose 集群)

搭建阿里云Linux版服务器+使用docker安装EMQ、Node-RED、MySQL+本地Navicat访问数据库(增删改查)——详细流程_第8张图片搭建阿里云Linux版服务器+使用docker安装EMQ、Node-RED、MySQL+本地Navicat访问数据库(增删改查)——详细流程_第9张图片

部署docker

部署EMQ,首先要在服务器中部署docker

Docker作为一个软件集装箱化平台,可以让开发者构建应用程序时,将它与其依赖环境一起打包到一个容器中,然后很容易地发布和应用到任意平台中

点击此处 Ubuntu 14.04 16.04 (使用apt-get进行安装)
点击此处 Ubuntu 18.04 安装docker

搭建阿里云Linux版服务器+使用docker安装EMQ、Node-RED、MySQL+本地Navicat访问数据库(增删改查)——详细流程_第10张图片Docker CE 镜像源站
使用官方安装脚本自动安装 (仅适用于公网环境)

# step 1: 安装必要的一些系统工具
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
# step 2: 安装GPG证书
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# Step 3: 写入软件源信息
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
# Step 4: 更新并安装 Docker-CE
sudo apt-get -y update
sudo apt-get -y install docker-ce

注意:其他注意事项在下面的注释中
# 安装指定版本的Docker-CE:
# Step 1: 查找Docker-CE的版本:
# apt-cache madison docker-ce
#   docker-ce | 17.03.1~ce-0~ubuntu-xenial | http://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages
#   docker-ce | 17.03.0~ce-0~ubuntu-xenial | http://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages
# Step 2: 安装指定版本的Docker-CE: (VERSION 例如上面的 17.03.1~ce-0~ubuntu-xenial)
# sudo apt-get -y install docker-ce=[VERSION]

# 通过经典网络、VPC网络内网安装时,用以下命令替换Step 2、Step 3中的命令
# 经典网络:
# curl -fsSL http://mirrors.aliyuncs.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyuncs.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
# VPC网络:
# curl -fsSL http://mirrors.cloud.aliyuncs.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# sudo add-apt-repository "deb [arch=amd64] http://mirrors.cloud.aliyuncs.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

输入 docker,出现下方内容说明安装部署成功
搭建阿里云Linux版服务器+使用docker安装EMQ、Node-RED、MySQL+本地Navicat访问数据库(增删改查)——详细流程_第11张图片
接下来 ,我们获取docker镜像 启动docker容器
搭建阿里云Linux版服务器+使用docker安装EMQ、Node-RED、MySQL+本地Navicat访问数据库(增删改查)——详细流程_第12张图片
通过 Docker 运行 (包含简单的 docker-compose 集群)
#运行单个容器
获取 docker 镜像

$ docker pull emqx/emqx:v4.0.0

搭建阿里云Linux版服务器+使用docker安装EMQ、Node-RED、MySQL+本地Navicat访问数据库(增删改查)——详细流程_第13张图片
启动 docker 容器

$ docker run -d --name emqx -p 1883:1883 -p 8081:8081 -p 8083:8083 -p 8883:8883 -p 8084:8084 -p 18083:18083 emqx/emqx:v4.0.0

搭建阿里云Linux版服务器+使用docker安装EMQ、Node-RED、MySQL+本地Navicat访问数据库(增删改查)——详细流程_第14张图片已成功启动EMQ
现在进入EMQ服务器
本机浏览器输入公网IP地址 * . * . * . * :18083
搭建阿里云Linux版服务器+使用docker安装EMQ、Node-RED、MySQL+本地Navicat访问数据库(增删改查)——详细流程_第15张图片

都是默认的
用户名:admin
密码:public搭建阿里云Linux版服务器+使用docker安装EMQ、Node-RED、MySQL+本地Navicat访问数据库(增删改查)——详细流程_第16张图片一脸英文直接看懵比 学习 —— EMQ 管理控制台功能简介

主题与语言切换
Dashboard 界面与展示上提供暗色 (默认)、明亮两种主题风格,中文、英文(默认)两种语言支持。用户可在 ADMIN (系统) -> Settings (设置) 中进行切换设置。

千万记住要到云服务器 安全组 添加端口号18083
亲试,不然进不去
搭建阿里云Linux版服务器+使用docker安装EMQ、Node-RED、MySQL+本地Navicat访问数据库(增删改查)——详细流程_第17张图片

物联网平台Node-RED

Node-RED背景介绍
• Node-Red是IBM公司开发的一个可视化的编程工具。它允许程序员通过组合各部件来编写应用程序。这些部件可以是硬件设备(如:Arduino板子)、Web API(如:WebSocket in和WebSocket out)、功能函数(如:range)或者在线服务(如:email)。
• Node-Red提供基于网页的编程环境。通过拖拽已定义node到工作区并用线连接node创建数据流来实现编程。程序员通过点击‘Deploy’按钮实现一键保存并执行。程序以JSON字符串的格式保存,方便用户分享、修改。
• Node-Red基于Node.js,它的执行模型和Node.js一样,也是事件驱动非阻塞的。理论上,Node.js的所有模块都可以被封装成Node-Red的一个或几个node。(Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。 Node.js 的包管理器 npm是全球最大的开源库生态系统。)

在本地运行 Node-RED文档
继续使用 docker

docker run -it -p 1880:1880 --name mynodered nodered/node-red

搭建阿里云Linux版服务器+使用docker安装EMQ、Node-RED、MySQL+本地Navicat访问数据库(增删改查)——详细流程_第18张图片

搭建阿里云Linux版服务器+使用docker安装EMQ、Node-RED、MySQL+本地Navicat访问数据库(增删改查)——详细流程_第19张图片重新启动node-red

docker start mynodered

已成功启动Node-RED
现在进入Node-RED服务器
本机浏览器输入公网IP地址 * . * . * . * :1880
如果进不去 云服务器 安全组 添加1880端口
搭建阿里云Linux版服务器+使用docker安装EMQ、Node-RED、MySQL+本地Navicat访问数据库(增删改查)——详细流程_第20张图片学习 —— 物联网平台Node-RED

MQTT.fx的安装和使用

参考此博客
MQTT.fx的安装链接
搭建阿里云Linux版服务器+使用docker安装EMQ、Node-RED、MySQL+本地Navicat访问数据库(增删改查)——详细流程_第21张图片

  1. MQTT简介
    MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议,有可能成为物联网的重要组成部分。该协议支持所有平台,几乎可以把所有联网物品和外部连接起来,被用来当做传感器和致动器(比如通过Twitter让房屋联网)的通信协议。

  2. MQTT应用 IBM和St. Jude医疗中心通过MQTT开发了一套Merlin系统,该系统使用了用于家庭保健的传感器。St. Jude医疗中心设计了一个叫做Merlin@home的心脏装置,这种无线发射器可以用来监控那些已经植入复律-除颤器和起搏器(两者都是基本的传感器)的心脏病人。
    该产品利用MQTT把病人的即时更新信息传给医生/医院,然后医院进行保存。这样的话,病人就不用亲自去医院检查心脏仪器了,医生可以随时查看病人的数据,给出建议,病人在家里就可以自行检查。
    通过MQTT协议,目前已经扩展出了数十个MQTT服务器端程序,可以通过PHP,JAVA,Python,C,C#等系统语言来向MQTT发送相关消息。
    此外,国内很多企业都广泛使用MQTT作为Android手机客户端与服务器端推送消息的协议。随着移动互联网的发展,MQTT由于开放源代码,耗电量小等特点,将会在移动消息推送领域会有更多的贡献,在物联网领域,传感器与服务器的通信,信息的收集,MQTT都可以作为考虑的方案之一。在未来MQTT会进入到我们生活的各各方面。
    如果需要下载MQTT服务器端,可以直接去MQTT官方网站点击software进行下载MQTT协议衍生出来的各个不同版本。

  3. MQTT特点编辑
    MQTT协议是为大量计算能力有限,且工作在低带宽、不可靠的网络的远程传感器和控制设备通讯而设计的协议,它具有以下主要的几项特性:

  4. 使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合;

  5. 对负载内容屏蔽的消息传输;

  6. 使用 TCP/IP 提供网络连接;

  7. 有三种消息发布服务质量:
    至多一次 消息发布完全依赖底层 TCP/IP网络。会发生消息丢失或重复。这一级别可用于如下情况,环境传感器数据,丢失一次读记录无所谓,因为不久后还会有第二次发送.
    至少一次 确保消息到达,但消息重复可能会发生。
    只有一次 确保消息到达一次。这一级别可用于如下情况,在计费系统中,消息重复或丢失会导致不正确的结果。

  8. 小型传输,开销很小(固定长度的头部是 2 字节),协议交换最小化,以降低网络流量; 使用 Last Will 和 Testament

  9. 特性通知有关各方客户端异常中断的机制

连接实验:
搭建阿里云Linux版服务器+使用docker安装EMQ、Node-RED、MySQL+本地Navicat访问数据库(增删改查)——详细流程_第22张图片

搭建阿里云Linux版服务器+使用docker安装EMQ、Node-RED、MySQL+本地Navicat访问数据库(增删改查)——详细流程_第23张图片

安装MySQL数据库

1、 拉取 MySQL 镜像

这里我们拉取官方的最新版本的镜像:

$ docker pull mysql:latest

搭建阿里云Linux版服务器+使用docker安装EMQ、Node-RED、MySQL+本地Navicat访问数据库(增删改查)——详细流程_第24张图片

2、查看本地镜像
使用以下命令来查看是否已安装了 mysql:

$ docker images

在这里插入图片描述

3、运行容器

安装完成后,我们可以使用以下命令来运行 mysql 容器:PASSWORD可自己随意填写

$ docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

参数说明:

-p 3306:3306 :映射容器服务的 3306 端口到宿主机的 3306 端口,外部主机可以直接通过 宿主机ip:3306 访问到 MySQL 的服务。
MYSQL_ROOT_PASSWORD=123456:设置 MySQL 服务 root 用户的密码。 

4、安装成功

通过 docker ps 命令查看是否安装成功:
搭建阿里云Linux版服务器+使用docker安装EMQ、Node-RED、MySQL+本地Navicat访问数据库(增删改查)——详细流程_第25张图片

5、进入容器 其中mysqldb为docker ps中查看的id号(注意)

sudo docker exec -it mysqldb /bin/bash

在这里插入图片描述

6、进入MySQL

mysql -uroot -p

7、连接权限数据库

use mysql;

8、列出 host,user,plugin

SELECT Host,User,plugin from user;

搭建阿里云Linux版服务器+使用docker安装EMQ、Node-RED、MySQL+本地Navicat访问数据库(增删改查)——详细流程_第26张图片
root 的 plugin一定要改 按照下方两条语句依次执行。不改navicat报错 2059

9、修改密码永不过期

ALTER USER 'root'@'%' IDENTIFIED BY ' password' PASSWORD EXPIRE NEVER;

10、修改密码并指定为 mysql_native_password

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY'123456';

11、刷新权限

flush privileges;

完成

Navicat for MySQL —— 在线数据库管理工具

附上百度云链接 链接:https://pan.baidu.com/s/16wPC2kaS5uZFt4n4xnAgvQ 提取码:pwwm
搭建阿里云Linux版服务器+使用docker安装EMQ、Node-RED、MySQL+本地Navicat访问数据库(增删改查)——详细流程_第27张图片
用户名:root
密码:123456

你可能感兴趣的:(数据库使用,物联网,Linux,服务器,linux,mysql)