当前位置: 首页 > news >正文

Zabbix自动注册服务器及部署代理服务器

文章目录

  • 一.zabbix自动注册
    • 1.什么是自动注册
    • 2.环境准备
    • 3.zabbix客户端配置
    • 4.在 Web 页面配置自动注册
    • 5.验证自动注册
  • 二.部署 zabbix 代理服务器
    • 1.分布式监控的作用:
    • 2.环境部署
    • 3.代理服务器配置
    • 4.客户端配置
    • 5.web页面配置
      • 5.1 删除原来配置
      • 5.2 添加代理
      • 5.3 创建主机
      • 5.4 分别在客户端和代理服务器上重启服务
      • 5.5 验证结果
  • 三.设置 zabbix-snmp 监控
    • 1.服务端安装 snmp 监控程序
    • 2.修改 snmp 的配置文件,并启动服务
    • 3.使用 snmp 命令测试
    • 4.在 Web 页面配置 snmp 方式监控

一.zabbix自动注册

1.什么是自动注册

zabbix 自动注册(对于 agent2 是主动模式)
zabbix agent2 会主动上报自己的信息,发给 zabbix server。
缺点是可能因为配置文件配置错误或者网络不通等原因导致 zabbix agent2 可能找不到 zabbix server。

2.环境准备

具体安装服务端及客户端请参考:https://blog.csdn.net/Katie_ff/article/details/132171211?spm=1001.2014.3001.5501

点击左边菜单栏【配置】中的【自动发现】,勾选发现规则,点击 禁用
点击左边菜单栏【配置】中的【主机】,勾选原有的客户端主机,点击 删除

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gnYLGvUG-1691567594698)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230809141748620.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TvBUnA7s-1691567594699)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230809142001222.png)]

3.zabbix客户端配置

vim /etc/hosts
192.168.198.17 zbx-server
192.168.198.18 zbx-agent01
#修改 zabbix-agent2 配置文件
vim /etc/zabbix/zabbix_agent2.conf
......
#139行,取消注释即可保存退出
HostnameItem=system.hostname		#过滤出客户端配置文件不以#开头且不是空行的内容,内容展示如下
[root@zbx-agent01 yum.repos.d]# egrep -v "^#|^$" /etc/zabbix/zabbix_agent2.conf 
PidFile=/var/run/zabbix/zabbix_agent2.pid
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=0
Server=192.168.198.17
ServerActive=192.168.198.17
Hostname=zbx-agent01
HostnameItem=system.hostname
Include=/etc/zabbix/zabbix_agent2.d/*.conf
ControlSocket=/tmp/agent.sock

4.在 Web 页面配置自动注册

点击左边菜单栏【配置】中的【动作】,上方菜单选择 【Autoregistration actions】,点击【创建动作】
【名称】设置成 Auto registration
点击 【添加】,【类型】选择 主机名称,【操作者】选择 包含,【值】设置成 zbx-agent01
点击上方菜单栏【操作】,点击【添加】,【操作类型】选择 添加主机,点击 【add】
再点击【添加】,【操作类型】选择 添加到主机群组,【主机群组】选择 Linux servers,点击 【add】
再点击【添加】,【操作类型】选择 与模板关联,【模板】搜索 Linux,选择 Template OS Linux by Zabbix agent,点击 【add】
点击下方的【添加】

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-l4YSDFTN-1691567594699)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230809142807094.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Tv8SiT22-1691567594699)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230809144704552.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4Booiv4I-1691567594700)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230809144807281.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vIYNmOoh-1691567594700)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230809145049504.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WKTW2nXe-1691567594700)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230809145117339.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-doyHdw8U-1691567594700)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230809145211857.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9cTFT9Xe-1691567594701)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230809145243032.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-06KTcOpv-1691567594701)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230809145258517.png)]

5.验证自动注册

点击左边菜单栏【配置】中的【主机】刷新,等待一段时间后即可刷新出自动发现的客户端主机

服务端:
tail -f /var/log/zabbix/zabbix_server.log
#实时查看server日志

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GzPMAEYl-1691567594701)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230809145619623.png)]

二.部署 zabbix 代理服务器

1.分布式监控的作用:

(1)分担 server 的集中式压力
(2)解决多机房之间的网络延时问题

agent --> proxy --> server

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-c1xMXu9w-1691567594702)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230809145818177.png)]

2.环境部署

在原有zabbix server和zabbix agent2上再添加一台代理服务器

主机名服务IP地址
zbx-serverzabbix-server192.168.198.17
zbx-agent01zabbix-agent2192.168.198.18
zbx-proxyzabbix-proxy198.168.198.14

3.代理服务器配置

#关闭防火墙selinux并修改主机名刷新
systemctl disable --now firewalld
setenforce 0
hostnamectl set-hostname zbx-proxy
su
#设置 zabbix 的下载源,按照 zabbix-proxy
rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm cd /etc/yum.repos.d
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repoyum install -y zabbix-proxy-mysql zabbix-get
#安装 zabbix 所需的数据库
yum install -y mariadb-server mariadbsystemctl enable --now mariadb
#初始化数据库,并设置密码,如 abc123
mysql_secure_installation         
#添加数据库用户,以及 zabbix 所需的数据库信息
mysql -u root -pabc123CREATE DATABASE zabbix_proxy character set utf8 collate utf8_bin;
GRANT all ON zabbix_proxy.* TO 'zabbix'@'%' IDENTIFIED BY 'zabbix';
flush privileges;
#导入数据库信息
#查询 sql 文件的位置
rpm -ql zabbix-proxy-mysql 		zcat /usr/share/doc/zabbix-proxy-mysql-5.0.36/schema.sql.gz | mysql -uroot -pabc123 zabbix_proxy
#修改 zabbix-proxy 配置文件
vim /etc/zabbix/zabbix_proxy.conf
Server=192.168.10.22				#30行,指定 zabbix 服务端的 IP 地址
Hostname=zbx-proxy					#49行,指定当前 zabbix 代理服务器的主机名
DBPassword=zabbix					#196行,指定当前数据库 zabbix 用户的密码
#启动 zabbix-proxy
systemctl start zabbix-proxy
systemctl enable zabbix-proxy
#在所有主机上配置 hosts 解析
vim /etc/hosts
192.168.198.17 zbx-server
192.168.198.18 zbx-agent01
192.168.198.14 zbx-proxy

4.客户端配置

配置 agent 使用 proxy

客户端本身配置文件中服务器地址配置是zabbix server的地址,需要改为代理服务器的地址。

#在客户端修改 agent2 配置文件
vim /etc/zabbix/zabbix_agent2.conf
......
Server=192.168.198.14			#80行,指定 zabbix 代理服务器的 IP 地址
ServerActive=192.168.198.14		#120行,指定 zabbix 代理服务器的 IP 地址

5.web页面配置

5.1 删除原来配置

点击左边菜单栏【配置】中的【动作】,勾选自动注册规则,点击 禁用
点击左边菜单栏【配置】中的【主机】,勾选原有的客户端主机,点击 删除

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-26zWvGPU-1691567594702)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230809151632852.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-W3rYwj9u-1691567594702)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230809151733267.png)]

5.2 添加代理

点击左边菜单栏【管理】中的【agent代理程序】,点击【创建代理】
【agent代理程序名称】设置为 zbx-proxy
【系统代理程序模式】选择 主动式
【代理地址】设置为 192.168.10.13
点击 【添加】

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vneMmgcH-1691567594702)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230809151831023.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ixjvpQjZ-1691567594703)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230809151923431.png)]

5.3 创建主机

在 Web 页面配置
点击左边菜单栏【配置】中的【主机】,点击【创建主机】
【主机名称】设置成 zbx-agent01
【可见的名称】设置成 zbx-agent01
【群组】选择 Linux server
【Interfaces】的【IP地址】设置成 192.168.30.12
【由agent代理程序监测】选择 zbx-proxy
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MMake96a-1691567594703)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230809152042145.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-W11a9Ue5-1691567594703)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230809152201080.png)]

5.4 分别在客户端和代理服务器上重启服务

#客户端:
systemctl restart zabbix-agent2
#代理服务器
systemctl restart zabbix-proxy

5.5 验证结果

点击左边菜单栏【配置】中的【主机】刷新,查看客户端主机监控状态正常

在服务端查看日志
tail -f /var/log/zabbix/zabbix_proxy.log

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ci4rQvDe-1691567594703)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230809154354074.png)]

三.设置 zabbix-snmp 监控

SNMP,简单网络管理协议

1.服务端安装 snmp 监控程序

yum install -y net-snmp net-snmp-utils

2.修改 snmp 的配置文件,并启动服务

vim /etc/snmp/snmpd.conf
......
view    systemview    included   .1				#57行,添加此配置
systemctl start snmpd

3.使用 snmp 命令测试

snmpwalk -v 2c -c public 127.0.0.1 sysnameSNMPv2-MIB::sysName.0 = STRING: zbx-server

–v 1|2c|3:指定SNMP协议版本
–c----------------------------------------------------

4.在 Web 页面配置 snmp 方式监控

点击左边菜单栏【配置】中的【主机】,点击 Zabbix server
【Interfaces】点击【添加】选择 SNMP ,端口设置成 161
点击上方菜单栏【模板】,【链接的模板】中的所有 agent 模板选择取消链接并清理
再在【Link new templates】中搜索 Linux SNMP,选择 Template OS Linux SNMP
点击 【更新】,等待一段时间后 Zabbix server 的可用性就变成了 SNMP 监控方式。
:指定共同体字符串

sysname:为 snmp 的 key
在这里插入图片描述
在这里插入图片描述
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kRaVCZqZ-1691567594704)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230809153602348.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t5iYDakJ-1691567594704)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230809153630944.png)]

等待一段时间后 Zabbix server 的可用性就变成了 SNMP 监控方式。
在这里插入图片描述
此处红色是:
Timeout while connecting to “127.0.0.1:161”.

连接至"127.0.0.1:161"的过程中超时了。这个IP地址是回环地址,通常用于本地主机的测试和调试。端口号161通常用于Simple Network Management Protocol (SNMP)。超时可能有以下几个原因:

本地服务未运行或未正确配置:请确保SNMP服务已经启动,并检查配置是否正确。可以通过命令行或者服务管理工具来启动和管理SNMP服务。

防火墙设置:防火墙可能会阻止与该地址和端口的连接。请检查防火墙设置,确保相应的端口可以通信。

网络连接问题:超时可能是由于网络故障或连接中断引起的。请检查网络连接,并确保本地主机与目标主机之间的通信没有问题。
此处是本地服务器未运行的原因

案列学习
https://www.cnblogs.com/yanjieli/p/16045759.html
https://blog.csdn.net/qq_45392321/article/details/123147765

相关文章:

Zabbix自动注册服务器及部署代理服务器

文章目录 一.zabbix自动注册1.什么是自动注册2.环境准备3.zabbix客户端配置4.在 Web 页面配置自动注册5.验证自动注册 二.部署 zabbix 代理服务器1.分布式监控的作用:2.环境部署3.代理服务器配置4.客户端配置5.web页面配置5.1 删除原来配置5.2 添加代理5.3 创建主机…...

SpringBoot下使用自定义监听事件

事件机制是Spring的一个功能,目前我们使用了SpringBoot框架,所以记录下事件机制在SpringBoot框架下的使用,同时实现异步处理。事件机制其实就是使用了观察者模式(发布-订阅模式)。 Spring的事件机制经过如下流程: 1、自定义事件…...

并发编程面试题1

并发编程面试题1 一、原子性高频问题: 1.1 Java中如何实现线程安全? 多线程操作共享数据出现的问题。 锁: 悲观锁:synchronized,lock乐观锁:CAS 可以根据业务情况,选择ThreadLocal,让每个…...

【对于一维信号的匹配】对一个一维(时间)信号y使用自定义基B执行匹配追踪(MP)研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...

【Oracle 数据库 SQL 语句 】积累1

Oracle 数据库 SQL 语句 1、分组之后再合计2、显示不为空的值 1、分组之后再合计 关键字: grouping sets ((分组字段1,分组字段2),()) select sylbdm ,count(sylbmc) a…...

Django中级指南:理解并实现Django的模型和数据库迁移

Django 是一个极其强大的 Python Web 框架,它提供了许多工具和特性,能够帮助我们更快速、更便捷地构建 Web 应用。在本文中,我们将会关注 Django 中的模型(Models)和数据库迁移(Database Migrations&#x…...

Chatgpt API调用报错:openai.error.RateLimitError

Chatgpt API 调用报错: openai.error.RateLimitError: You exceeded your current quota, please check your plan and billing details. 调用OpenAI API接口 import openai import osopenai.api_key os.getenv("OPENAI_API_KEY")result openai.Chat…...

一键获取数百张免费商用人脸!AI人脸生成器来袭

随着科技的发展,人工智能正在渗透到生活的各个角落,设计行业也不例外。在网页、APP、PPT 等界面设计中,设计师经常需要插入真实的人脸素材,以增强作品的真实感和场景化。但是获取素材既不容易,质量和价格也难免成为设计…...

跳跃游戏 II——力扣45

文章目录 题目描述解法一 贪心题目描述 解法一 贪心 int jump(vector<int>& nums){in...

Stable Diffusion - 常用的负向提示 Embeddings 解析与 坐姿 (Sitting) 提示词

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/132145248 负向 Embeddings 是用于提高 StableDiffusion 生成图像质量的技术&#xff0c;可以避免生成一些不符合预期的图像特征&#xff0c;比如…...

工厂方法模式(一):C#实现指南

工厂方法模式是一种创建型设计模式&#xff0c;用于处理对象的创建问题。通过使用工厂方法模式&#xff0c;我们可以将对象的创建过程与使用过程分离&#xff0c;从而增加代码的灵活性和可维护性。 工厂方法模式的定义 工厂方法模式定义了一个创建对象的接口&#xff0c;但由子…...

Spring接口InitializingBean的作用和使用介绍

在Spring框架中&#xff0c;InitializingBean接口是一个回调接口&#xff0c;用于在Spring容器实例化Bean并设置Bean的属性之后&#xff0c;执行一些自定义的初始化逻辑。实现InitializingBean接口的Bean可以在初始化阶段进行一些必要的操作&#xff0c;比如数据的初始化、资源…...

Excel---成绩相同者,名次并列排列,三步搞定

需求&#xff1a;一张成绩表&#xff0c;共341行(340条数据&#xff0c;第一条为标题)&#xff0c;根据成绩进行排序&#xff0c;成绩相同进行名次并列 一、选择生成结果的位置&#xff0c;我这里点击了一下E2单元格 二、公式—>插入–>rank函数 数值&#xff1a;D2 表示…...

Elasticsearch6.x和7.x的区别

Elasticsearch6.x和7.x的区别 1、查找方面的区别 在增删改方面&#xff0c;6.x和7.x是一样的&#xff0c;在查找方面&#xff08;分为普通查找和有高亮的查找&#xff09;&#xff0c;6.x和7.x有区别。 在7.x的es中&#xff1a; org.springframework.data.elasticsearch.cor…...

基于STM32设计的口罩识别和无线测温系统

一、设计需求 基于STM32设计的口罩识别和无线测温系统 1.1 项目背景 随着深度学习和计算机视觉的快读发展,与此有关的技术设备已经被大幅度的使用,并且不仅仅在这两个方面,更在许许多多的领域都有使用。众所周知,图像理解之中的最重要的一个步骤即为目标检测,和为目标检测…...

第五十天

●软件测试的目的 软件测试的目的是寻找错误&#xff0c;并且尽可能找出更多的错误。 测试是程序的执行过程&#xff0c;目的在于发现错误 一个好的测试用例在于能够发现至今为止未发现的错误 一个成功的测试是发现了至今未发现的错误的测试 ●软件测试工作流程&#xff1…...

vue-pc端elementui-统一修改问题-Dialog 对话框点击空白关闭问题-element-所有组件层级问题

前言 实际开发我们经常发现dialog弹出框默认点击遮罩层空白地方就会关闭-有属性可以关闭 但是经常会图方便-或者已经写完了&#xff0c;不想一个个写&#xff0c;可以在main.js进行统一关闭 当我们在页面进行复杂设计和层级关闭改变&#xff0c;会发现右上角的退出登录弹出款…...

VS code 用户设置

ctrlshiftP打开用户设设置 vscode user setting.json 中的配置 {// vscode默认启用了根据文件类型自动设置tabsize的选项"editor.detectIndentation": false,//黄色波浪线"eslint.enable": false,// 重新设定tabsize"editor.tabSize": 2,&quo…...

【Spring security 解决跨域】

security 跨域 概述方案方案一方案二方案三方案四 主页传送门&#xff1a;&#x1f4c0; 传送 概述 Spring Security是一个功能强大且高度可定制的&#xff0c;主要负责为Java程序提供声明式的身份验证和访问控制的安全框架。其前身是Acegi Security,后来被收纳为Spring的一个…...

【C语言】经典题目(四)

HI&#xff0c;大家好~&#x1f61d;&#x1f61d;这是一篇C语言经典题目的博客。 更多C语言经典题目及刷题篇&#xff0c;可以参考&#xff1a; &#x1f338; 【C语言】经典题目(一) &#x1f338; 【C语言】经典题目(二) &#x1f338; 【C语言】经典题目(三) &#x1f338;…...

FFmpeg 低延迟同屏方案

引言 在实时互动需求激增的当下&#xff0c;无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作&#xff0c;还是游戏直播的画面实时传输&#xff0c;低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架&#xff0c;凭借其灵活的编解码、数据…...

线程与协程

1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指&#xff1a;像函数调用/返回一样轻量地完成任务切换。 举例说明&#xff1a; 当你在程序中写一个函数调用&#xff1a; funcA() 然后 funcA 执行完后返回&…...

Linux简单的操作

ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...

MMaDA: Multimodal Large Diffusion Language Models

CODE &#xff1a; https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA&#xff0c;它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构&#xf…...

tree 树组件大数据卡顿问题优化

问题背景 项目中有用到树组件用来做文件目录&#xff0c;但是由于这个树组件的节点越来越多&#xff0c;导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多&#xff0c;导致的浏览器卡顿&#xff0c;这里很明显就需要用到虚拟列表的技术&…...

用机器学习破解新能源领域的“弃风”难题

音乐发烧友深有体会&#xff0c;玩音乐的本质就是玩电网。火电声音偏暖&#xff0c;水电偏冷&#xff0c;风电偏空旷。至于太阳能发的电&#xff0c;则略显朦胧和单薄。 不知你是否有感觉&#xff0c;近两年家里的音响声音越来越冷&#xff0c;听起来越来越单薄&#xff1f; —…...

LLMs 系列实操科普(1)

写在前面&#xff1a; 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容&#xff0c;原视频时长 ~130 分钟&#xff0c;以实操演示主流的一些 LLMs 的使用&#xff0c;由于涉及到实操&#xff0c;实际上并不适合以文字整理&#xff0c;但还是决定尽量整理一份笔…...

【Linux】Linux 系统默认的目录及作用说明

博主介绍&#xff1a;✌全网粉丝23W&#xff0c;CSDN博客专家、Java领域优质创作者&#xff0c;掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围&#xff1a;SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…...

stm32wle5 lpuart DMA数据不接收

配置波特率9600时&#xff0c;需要使用外部低速晶振...

篇章二 论坛系统——系统设计

目录 2.系统设计 2.1 技术选型 2.2 设计数据库结构 2.2.1 数据库实体 1. 数据库设计 1.1 数据库名: forum db 1.2 表的设计 1.3 编写SQL 2.系统设计 2.1 技术选型 2.2 设计数据库结构 2.2.1 数据库实体 通过需求分析获得概念类并结合业务实现过程中的技术需要&#x…...