Linux系统安装Mysql二进制文件

news2024/11/24 6:44:02

💻前言

为了简化安装和配置过程,许多Linux发行版提供了预编译的二进制MySQL安装包,这些安装包已经经过测试和验证,可以在大多数Linux系统上正常工作。通过安装这些二进制MySQL安装包,可以省去从源代码编译和安装的繁琐过程,提高安装和配置的效率。

此外,二进制MySQL安装包也包含了一些预配置的参数和选项,这些参数和选项已经经过优化和调整,可以满足大多数用户的需求。如果需要更高级的配置或定制化的选项,可以使用源代码进行编译和安装。

💻下载Linux版Mysql

官方地址:https://www.mysql.com/

下载步骤:

 

 

通过Xftp上传到Linux:

💻解压

1.我的Linux是桥接,通过Xshell连接我的另一台电脑。

 2.执行压缩命令

tar -xvf mysql-8.0.33-linux-glibc2.12-x86_64.tar  -C /usr/local

该命令用于解压缩名为mysql-8.0.33-linux-glibc2.12-x86_64.tar的压缩文件,并将其解压缩到/usr/local目录下。-x选项表示解压缩,-v选项表示在解压缩时显示详细信息,-f选项指定要解压缩的文件名,-C选项指定解压缩后的目标目录。

3.重命名

进入解压目录对mysql-8.0.33-linux-glibc2.12-x86_64重命名为 mysql

[root@xiaojian ~]# cd /usr/local
[root@xiaojian local]# ll
total 0
drwxr-xr-x. 2 root root   6 Apr 11  2018 bin
drwxr-xr-x. 2 root root   6 Jul 25 15:29 etc
drwxr-xr-x. 2 root root   6 Apr 11  2018 games
drwxr-xr-x. 2 root root   6 Apr 11  2018 include
drwxr-xr-x. 8   10  143 255 Mar 29  2018 jdk1.8.0_171
drwxr-xr-x. 2 root root   6 Apr 11  2018 lib
drwxr-xr-x. 2 root root   6 Apr 11  2018 lib64
drwxr-xr-x. 2 root root   6 Apr 11  2018 libexec
drwxr-xr-x  9 root root 129 Jul 26 10:53 mysql-8.0.33-linux-glibc2.12-x86_64
drwxr-xr-x. 2 root root   6 Apr 11  2018 sbin
drwxr-xr-x. 5 root root  49 Jul 11 09:19 share
drwxr-xr-x. 2 root root   6 Apr 11  2018 src
drwxr-xr-x. 9 root root 220 Jul 25 14:54 tomcat-8.5.91
[root@xiaojian local]# mv mysql-8.0.33-linux-glibc2.12-x86_64 mysql
[root@xiaojian local]# ll
total 0
drwxr-xr-x. 2 root root   6 Apr 11  2018 bin
drwxr-xr-x. 2 root root   6 Jul 25 15:29 etc
drwxr-xr-x. 2 root root   6 Apr 11  2018 games
drwxr-xr-x. 2 root root   6 Apr 11  2018 include
drwxr-xr-x. 8   10  143 255 Mar 29  2018 jdk1.8.0_171
drwxr-xr-x. 2 root root   6 Apr 11  2018 lib
drwxr-xr-x. 2 root root   6 Apr 11  2018 lib64
drwxr-xr-x. 2 root root   6 Apr 11  2018 libexec
drwxr-xr-x  9 root root 129 Jul 26 10:53 mysql
drwxr-xr-x. 2 root root   6 Apr 11  2018 sbin
drwxr-xr-x. 5 root root  49 Jul 11 09:19 share
drwxr-xr-x. 2 root root   6 Apr 11  2018 src
drwxr-xr-x. 9 root root 220 Jul 25 14:54 tomcat-8.5.91
[root@xiaojian local]# 

💻添加用户/组

#进入到安装目录
[root@xiaojian local]# cd /usr/local/mysql/
 
#创建组
[root@xiaojian mysql]# groupadd mysql
 
#创建用户
[root@xiaojian mysql]# useradd -r -g mysql mysql
   
#设置/usr/local/mysql/文件夹的拥有者
[root@xiaojian mysql]# chown -R mysql:mysql ./

💻初始化Mysql生成默认随机密码

#创建数据库文件存放的文件夹。这个文件夹将来存放每个数据库的库文件  
[root@xiaojian mysql]# mkdir data
 
#执行命令,
[root@xiaojian mysql]# bin/mysqld --initialize --user=mysql --lower_case_table_names=1 --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/
 
#参数说明
     #--initialize:初始化MySQL服务器,包括创建数据目录和初始化系统数据库等操作。
     #--user=mysql:指定运行MySQL服务器的用户,这里为mysql用户。
     #--lower_case_table_names=1:将数据库和表名转换为小写,方便在不同操作系统间迁移。
     #--basedir=/usr/local/mysql:指定MySQL服务器的安装路径。
     #--datadir=/usr/local/mysql/data:指定MySQL服务器的数据目录。
#注意:有些centos版本缺少libaio.so.1文件,就会执行不成功,使用yum install -y libaio安装
 
#设置数据库存储文件夹拥有者
[root@xiaojian mysql]# chown -R root:root ./
[root@xiaojian mysql]# chown -R mysql:mysql data

 记住这个随机生成的密码(登录Mysql必须)

💻修改配置

修改Mysql配置文件

[root@xiaojian mysql]# vi /etc/my.cnf

 将里面的命令都删除掉,添加以下命令,保存并退出

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
 
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
# 允许最大连接数
max_connections=1500
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用"mysql_native_password"插件认证
default_authentication_plugin=mysql_native_password
# 区分大小写,0区分,1不区分,填写这个配置前提是在initialize初始化数据库的时候加参数--lower_case_table_names=1,否则报错
lower_case_table_names=1
  
[client]
# 设置mysql客户端连接服务端时默认使用的端口
default-character-set=utf8

💻启动Mysql服务

[root@xiaojian mysql]# cd /usr/local/mysql/support-files
[root@xiaojian support-files]# ./mysql.server start
#如果执行有问题
[root@xiaojian support-files]# chmod -R 777 /usr/local/mysql
#注意
1.该命令会将/usr/local/mysql目录及其所有子目录和文件的权限设置为777,即所有用户都可以读取、写入和执行这些目录和文件。
2.chmod命令用于修改文件或目录的访问权限。其中,-R选项表示递归修改,即连同子目录和文件一起修改。权限数字777表示所有用户都有读、写和执行权限。
3.需要注意的是,给文件或目录设置777权限可能会存在安全风险,因为这允许所有用户对文件或目录进行操作。因此,应该根据实际需要设置适当的权限。

启动服务

[root@xiaojian mysql]# cd /usr/local/mysql/support-files
[root@xiaojian support-files]# ./mysql.server start
Starting MySQL SUCCESS! 
[root@xiaojian support-files]#

 停止服务

[root@xiaojian support-files]# ./mysql.server stop
Shutting down MySQL.. SUCCESS! 
[root@xiaojian support-files]# 

 如果安装包支持systemd,按下方式启动服务器。

1.systemctl {start|stop|restart|status} mysqld
systemctl start mysqld:启动MySQL服务器。
systemctl stop mysqld:停止MySQL服务器。
systemctl restart mysqld:重新启动MySQL服务器。
systemctl status mysqld:查看MySQL服务器的状态,包括是否正在运行、已经运行的进程等。
 
2.service mysqld {start|stop|restart|status}
service mysqld start:启动MySQL服务器。
service mysqld stop:停止MySQL服务器。
service mysqld restart:重新启动MySQL服务器。
service mysqld status:查看MySQL服务器的状态,包括是否正在运行、已经运行的进程等。
service mysqld reload:重载配置

💻修改Mysql登录密码

1.重新启动Mysql后查看进程

#查看 Mysql 进程
ps -ef|grep mysql

#查看 3306 端口
netstat -ano |grep "3306" 

2.登录Mysql输入初始化随机生成的密码 

[root@xiaojian mysql]# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.33

Copyright (c) 2000, 2023, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 
#设置Mysql新密码为 'root'
mysql> alter user 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
Query OK, 0 rows affected (0.00 sec)


#设置允许远程登录
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
#允许root用户从任何主机连接到MySQL服务器。
mysql> update user set user.Host='%'where user.User='root';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

#刷新权限
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

#退出
mysql> exit;

3.设置Mysql 开机自启

#将Mysql添加到系统进程中
[root@xiaojian mysql]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@xiaojian mysql]# chown 777 /etc/my.cnf
[root@xiaojian mysql]# chmod +x /etc/init.d/mysqld
[root@xiaojian mysql]# systemctl enable mysqld

#重新启动后(可测试Linux开机自启Mysql)
[root@xiaojian mysql]# reboot

💻查看防火墙开放端口

#使用 firewall-cmd --list-all 命令可以列出当前防火墙的所有规则和状态。这将显示公共区域、信任区域和排除区域的规则,以及每个区域中已打开的端口和接受连接的端口。
[root@xiaojian mysql]# firewall-cmd --list-all

#在防火墙中将3306端口开放 使用 firewall-cmd --zone=public --add-port=3306/tcp --permanent 命令想要在防火墙公共区域上永久添加3306/tcp端口。 注意:--permanent为永久生效,没有此参数 服务器重启后配置失效
[root@xiaojian  mysql]# firewall-cmd --zone=public --add-port=3306/tcp --permanent

#使用 firewall-cmd --reload 命令来重新加载防火墙配置。这个命令会重新读取防火墙配置文件,并将任何已更改或新添加的规则应用于防火墙。
[root@xiaojian  mysql]# firewall-cmd --reload 
#查看当前所有tcp端口
netstat -lptn 

#查看所有3306端口使用情况
netstat -lptn |grep 3306 

 附属

生产环境必须开启防火墙保证服务器的数据安全,所以需要开启防火墙并且开启对应的服务端口。

使用iptables工具配置Linux防火墙的简单步骤:

1.确认已安装iptables防火墙工具。

yum install iptables

2.配置防火墙规则,例如允许或拒绝特定IP地址、端口或协议的流量。以下是一个允许IP地址为192.168.0.100的TCP流量通过端口22的示例:

iptables -A INPUT -s 192.168.0.100 -p tcp --dport 22 -j ACCEPT

3.保存防火墙规则,以便在系统重启后也生效。可以使用以下命令保存:

iptables-save > /etc/sysconfig/iptables

4.确保防火墙规则在系统启动时自动加载,可以使用以下命令:

systemctl enable iptables  
systemctl start iptables

以上是配置Linux防火墙的基本步骤,可以根据您的需求和配置文件来配置更复杂的规则。同时,也可以使用其他工具,如firewalld来配置和管理防火墙,它提供了更简单的界面和更快的速度。

💻防火墙配置(摘录)

1.firewall 防火墙
 
基本使用
 
# 启动
systemctl start firewalld.service
 
# 停止
systemctl stop firewalld.service
 
# 重启
systemctl restart firewalld.service
 
# 查看状态
systemctl status firewalld.service
 
# 启用, 开机自启服务
systemctl enable firewalld.service
 
# 禁用, 开机自启服务
systemctl disable firewalld.service
 
# 查看是否开机启动
systemctl is-enabled firewalld.service
 
# 查看已启动的服务列表
systemctl list-unit-files | grep enabled
 
# 查看启动失败的服务列表
systemctl --failed
命令后 .service 不加也可以
 
 
 
基本配置 firewalld-cmd
 
# 查看版本
firewall-cmd --version
 
# 查看帮助
firewall-cmd --help
 
# 显示状态
firewall-cmd --state
 
# 开发一个端口
firewall-cmd --zone=public --permanent --add-port=端口/tcp
 
参数:--permanent永久生效,没有此参数重启后失效   --add-port 端口
     
 
# 更新防火墙规则
firewall-cmd --reload
 
# 删除端口
firewall-cmd --zone=public --permanent --remove-port=端口/tcp
 
# 查看端口是否开放
firewall-cmd --zone=public --query-port=端口/tcp
 
# 查看所有打开的端口
firewall-cmd --zone=public --list-ports
 
# 查看防火墙规则
firewall-cmd --list-all
 
# 查看区域信息
firewall-cmd --get-active-zones
 
# 查看指定接口所属区域
firewall-cmd --get-zone-of-interface=eth0
 
# 拒绝所有包
firewall-cmd --panic-on
 
# 取消拒绝状态
firewall-cmd --panic-off
 
# 查看是否拒绝
firewall-cmd --query-panic
 

 
2.iptables 防火墙
 
安装 iptables
 
# 检查状态
systemctl status iptables.service
 
# 停止firewall
systemctl stop firewalld.service
 
# 禁用开机启动firewall
systemctl disable firewalld.service
 
# 安装 iptables
yum install -y iptables iptables-services
 
# 启动 iptables
systemctl start iptables.service
 
# 启用开机启动 iptables
systemctl enable iptables.service
 
 
 
 
设置规则
 
参数:
-t<表>:指定要操纵的表
-A:向规则链中添加条目
-D:从规则链中删除条目
-i:向规则链中插入条目
-R:替换规则链中的条目
-L:显示规则链中已有的条目
-F:清除规则链中已有的条目
-Z:清空规则链中的数据包计算器和字节计数器
-N:创建新的用户自定义规则链
-P:定义规则链中的默认目标
-h:显示帮助信息
-p:指定要匹配的数据包协议类型
-s:指定要匹配的数据包源ip地址
-j<目标>:指定要跳转的目标
-i<网络接口>:指定数据包进入本机的网络接口
-o<网络接口>:指定数据包要离开本机所使用的网络接口
# 查看iptables现有规则
iptables -L -n
 
# 先允许所有,不然有可能会杯具
iptables -P INPUT ACCEPT
 
# 清空所有默认规则
iptables -F
 
# 清空所有自定义规则
iptables -X
 
# 所有计数器归0
iptables -Z
 
# 允许来自于lo接口的数据包(本地访问)
iptables -A INPUT -i lo -j ACCEPT
 
开放端口
iptables -A INPUT -p tcp -s IP地址 --dport 端口 -j ACCEPT
 
# 保存规则
service iptables save
 
# 允许ping
iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT
 
# 允许接受本机请求之后的返回数据 RELATED,是为FTP设置的
iptables -A INPUT -m state --state  RELATED,ESTABLISHED -j ACCEPT
 
# 其他入站一律丢弃
iptables -P INPUT DROP
 
# 所有出站一律绿灯
iptables -P OUTPUT ACCEPT
 
# 所有转发一律丢弃
iptables -P FORWARD DROP
 
# 如果要添加内网ip信任
iptables -A INPUT -p tcp -s 45.96.174.68 -j ACCEPT
 
# 过滤所有非以上规则的请求
iptables -P INPUT DROP
 
# 要封停一个IP,使用下面这条命令:
iptables -I INPUT -s IP地址 -j DROP
 
# 要解封一个IP,使用下面这条命令:
iptables -D INPUT -s IP地址 -j DROP
 
 
 
 
 
常用端口
 
# http 80
# https 443
# mysql 3306
# mongodb 27017
# postgre 5432
# elasticsearch 9200
# redis 6379
# rabbitmq 15672, 5672
# consul 8500
# nacos 8848
# ftp 21
# ssh 22
# telnet 23
# smtp 25
 
 
firewall 实例
 
# 开放 mysql 端口
firewall-cmd --zone=public --permanent --add-port=3306/tcp
 
# 重新载入规则
firewall-cmd --reload
 
# 删除 mysql 端口
firewall-cmd --zone=public --permanent --remove-port=3306/tcp
 
 
 
iptables 实列
 
开放端口
iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
 
# 保存规则
service iptables save
 
删除端口
iptables -D INPUT -p tcp --dport 3306 -j ACCEPT
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/792289.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

mysql通过binlog恢复数据

开启binlog 在my.ini中添加以下两行代码&#xff1a; log-binmysql-bin server-id1 注意要写在[mysqld]范围内才会生效 查看binlog存放日志文件目录 show variables like %datadir%; 查看binlog文件名 show master logs; 将binlog转换成sql mysqlbinlog --no-defaults …

个性化-强连接-更智能 伙伴云5大扩展功能详解

伙伴云【小伙开麦】直播间「“伙”速上新」栏目上线&#xff0c;由产品经理讲解产品伙伴云5大功能模块&#xff0c;旨在让业务流程更加清晰、让用户使用操作更加便捷、让业绩转化更高效、让生态连接更顺畅…… 在不断的技术创新过程中&#xff0c;进一步助力数字化转型&#x…

CAN bus off ——ISO11898

什么是can bus off&#xff1f; CAN总线关闭&#xff08;CAN bus off&#xff09;是指CAN节点进入一种错误状态&#xff0c;无法继续正常的数据通信。当一个CAN节点的错误计数器超过了设定的阈值时&#xff0c;该节点将进入CAN总线关闭状态。在这种状态下&#xff0c;该节点将停…

opencv-24 图像几何变换03-仿射-cv2.warpAffine()

什么是仿射&#xff1f; 仿射变换是指图像可以通过一系列的几何变换来实现平移、旋转等多种操作。该变换能够 保持图像的平直性和平行性。平直性是指图像经过仿射变换后&#xff0c;直线仍然是直线&#xff1b;平行性是指 图像在完成仿射变换后&#xff0c;平行线仍然是平行线。…

Android 耗时分析(adb shell/Studio CPU Profiler/插桩Trace API)

1.adb logcat 查看冷启动时间和Activity显示时间&#xff1a; 过滤Displayed关键字&#xff0c;可看到Activity的显示时间 那上面display后面的是时间是指包含哪些过程的时间呢&#xff1f; 模拟在Application中沉睡1秒操作&#xff0c;冷启动情况下&#xff1a; 从上可知&…

Python小练习实践

在交互模式下&#xff0c;可以不写print&#xff1b;默认调用 print(repr(a)) 文件模式&#xff0c;必须写print。 If语句 Input语句&#xff0c;返回的是字符串 len()&#xff0c;长度 小练习&#xff1a; 输入一个自己的生日月份 写个if 和else 判断一下当月是否是你的生日…

celery----异步发送短信

1.目录结构 -celery.py --------必须叫这个名字 放定时任务、里面实例化得到app对象 -home_task.py和user_task.py. ----------就是针对不同app的任务文件 2.各文件的内容 celery.py from datetime import timedeltafrom celery import Celery from celery.schedu…

PLL设计-仿真

线性相位裕锁相环模型 out都代表噪声&#xff0c;PFDCP的gain是Icp/2π&#xff0c;LF的传输函数是,VCO传输函数是,分频器增益是1/N 首先不考虑噪声模型 阶跃响应-查看建立时间&#xff0c;下面两条线是上面两条线减1V后的结果&#xff0c;方便查看。 放大上图&#xff0c;输入…

支持向量机(SVM)---代码实现

# coding: utf-8## 感知器模型流程 """1.初始化w, b2.遍历所有训练数据集中选出的误分类点&#xff1a;2.1.如果y ! sign(wxb) 或者 y*(wxb) < 0 则为误分类点2.2 根据误分类点计算&#xff1a;w_new w_old -alpha * 对w的梯度&#xff0c; b_new b_old - …

共聚焦显微镜在光学膜片表面微结构测量中的应用

在当前的液晶显示器行业&#xff0c;TFT液晶面板因其显示反应速度更快更适用于动画及显像显示的特点而得到广泛应用。作为配套组件的背光显示模组&#xff0c;为其供应充足且分布均匀的光源亮度&#xff0c;使得液晶面板的显像功能能够正常工作。液晶面板消费需求的不断增长带动…

【vue3】获取字典数据,封装为公共方法

前言: 后台项目中基本上都有字典管理页面,Vue封装字典数据的主要目的是为了方便数据的管理和使用 不管在哪个页面使用下拉框,el-select的options数据源需要通过调用接口获取到,不同的数据源调用不同的接口,引入和使用都是不小的工作量,如果使用字典数据管理,不管同个页…

(打造透明屏展厅全攻略)如何打造透明OLED显示屏展厅?

透明OLED显示屏是一种具有透明度的显示屏幕&#xff0c;可以在不使用时完全透明&#xff0c;从而实现空间与显示的完美融合。在展厅设计中&#xff0c;透明OLED显示屏可以带来全新的视觉体验&#xff0c;使展品更加生动、立体&#xff0c;展示效果更佳。下面是打造透明OLED显示…

Hi3536网络应用调优

目录 1. 为什么UDP接收或发送会丢包? 2. 使用 socket 接口时&#xff0c;如何正确工作在非阻塞模式下&#xff1f; 3. TOE 使能及使用注意事项 4. TOE 模式下使用 socket 接口时的注意事项 1. 为什么UDP接收或发送会丢包? 用户态应用程序在接收 UDP 数据时&#xff0…

什么是SVM算法?硬间隔和软间隔的分类问题

SVM全称是supported vector machine(支持向量机)&#xff0c;即寻找到一个超平面使样本分成两类&#xff0c;并且间隔最大。 SVM能够执行线性或⾮线性分类、回归&#xff0c;甚至是异常值检测任务。它是机器学习领域最受欢迎的模型之一。SVM特别适用于中小型复杂数据集的分类。…

梯度提升树的基本思想

目录 1. 梯度提升树 VS AdaBoost 2. GradientBoosting回归与分类的实现 2.1 GradientBoosting回归 2.2 GradientBoosting分类 1. 梯度提升树 VS AdaBoost 梯度提升树&#xff08;Gradient Boosting Decision Tree&#xff0c;GBDT&#xff09;是提升法中的代表性算法&#…

kali中的一些工具简单使用dirb、netdiscover、ffuf、nmap、sqlmap、hydra、msfconsole

kali渗透常用工具 dirbnetdiscover介绍 ffuf介绍 nmap介绍 sqlmaphydra介绍 msfconsolemsfconsole上线windows dirb dirb <目标URL> <字典文件> [选项] <目标URL>&#xff1a;要扫描的目标URL&#xff0c;例如&#xff1a;http://example.com。 <字典文件…

nodeiis部署步骤

用nodejs写了一个express框架的接口&#xff0c;记录一下它如何在iis上发布部署 nodeiis部署步骤 第一步 安装nodejs 安装步骤&#xff1a;略确认安装结果&#xff1a;在cmd执行命令node -v效果图 第二步 安装iisnode 下载地址&#xff1a;iisnode下载地址&#xff08;htt…

Sentinel针对IP限流

改造限流策略的针对来源选项 import com.alibaba.csp.sentinel.adapter.spring.webmvc.callback.RequestOriginParser; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;Configuration public class Senti…

php 中文字符串反转【字符串】

场景&#xff1a;英文字符串反转 使用 方法 strrev($str) ,但是中文字符串怎么反转呢&#xff1f; 代码 /*** 多字符 字符串反转* param string $string 字符串* param string $encoding 编码* php > 7.4 否则需要实现 mb_str_split 多字符变成字符串*/ function mb_str…

【雕爷学编程】Arduino动手做(88)---水流量传感器模块4

37款传感器与执行器的提法&#xff0c;在网络上广泛流传&#xff0c;其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块&#xff0c;依照实践出真知&#xff08;一定要动手做&#xff09;的理念&#xff0c;以学习和交流为目的&am…