安装mysql


yum install wget
mkdir mysql
cd mysql

下载mysql

wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.37-1.el9.x86_64.rpm-bundle.tar

解压 直接干

yum install -y tar
tar -xvf mysql-8.0.37-1.el9.x86_64.rpm-bundle.tar 

开始安装

rpm -ivh mysql-community-* --force --nodeps
      -i: 安装软件包。
      -v: 显示详细输出。
      -h: 显示安装进度。
      --force: 强制覆盖已经存在的文件。这可能会破坏系统,因为它会覆盖现有的文件而不进行任何检查。
      --nodeps: 安装软件包时,不检查其依赖关系。这可能会导致软件包无法正常工作,因为它可能缺少必要的库或依赖项。

启动mysql(开机启动)

systemctl start mysqld
systemctl enable mysqld

查询密码

cat /var/log/mysqld.log | grep password

修改密码

ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';

#####也可以更改密码策略
set global validate_password.policy=0;
  0:大小写字母,数字,特殊字符任意一种
  1:大小写字母,数字,特殊字符任意三种
  2.大小写字母,数字,特殊字符任意四种
set global validate_password.length=5;
   密码长短度
set global validate_password.mixed_case_count=0;
   密码要包含的大小写字母个数
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456!';
   再次设置

重启mysql

systemctl stop mysqld && systemctl start mysqld

安装PHP8.0

# 加载remi库
sudo yum install -y https://rpms.remirepo.net/enterprise/remi-release-9.rpm

#Remi仓库:由Remi个人或他的团队维护,提供更新版本的软件包或官方仓库中没有的软件包。这些软件包可能没有得到官方支持,但由Remi团队维护
#更新yum仓库
yum clean all
#清空缓存 下次重新查找
yum makecache
#软件包版本和依赖关系
#安装
#下面是Zabbix server在使用PHP时需要用到的PHP相关组件的安装:
yum install -y php80 php80-php-cli php80-php-gd php80-php-json php80-php-mbstring php80-php-mysqlnd php80-php-
xml

([PHP8组件解释])

安装zibbix

​#加载zabbix官方的应用商店
rpm -Uvh https://repo.zabbix.com/zabbix/7.0/alma/9/x86_64/zabbix-release-7.0-2.el9.noarch.rpm

#更改配置文件
yum install -y vim
vim /etc/yum.repos.d/epel.repo

#第七行 改为0
enabled=0
###因为安装zabbix所需组件时候,如果不关闭其他库,系统会去其他库中寻找相关组件,导致版本不对等问题,使得安装出现失败

#安装zibbix组件
yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent

[[#zibbix组件解释]]

# 重新更改配置文件(修改回去)
vim /etc/yum.repos.d/epel.repo
enabled=1

修改zibbix数据库

# 登录sql
mysql -uroot -p

#创建了一个名为zabbix_proxy的新数据库,
create database zabbix character set utf8mb4 collate utf8mb4_bin;

[[#数据库创建解释]]

# 设置zibbix数据库账号密码
create user zabbix@localhost identified by '123456!';
#赋予权限 
grant all privileges on zabbix.* to zabbix@localhost;

[[#权限解释]]

#mysql信任
set global log_bin_trust_function_creators = 1;
# 退出
exit

[[#MySQL 信任]]

#导入zabbix初始化数据库
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix

#关闭非确定函数
mysql -uroot -p
set global log_bin_trust_function_creators = 0;
exit
# 修改zibbix配置文件
vim /etc/zabbix/zabbix_server.conf

#找个空的地方粘贴进去  
    ListenPort=10051
    DBPassword=123456!

#开启权限
setenforce 0

开启防火墙

#查看80是否开启
firewall-cmd --zone=public --query-port=80/tcp
#开放端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=10050/tcp --permanent
firewall-cmd --zone=public --add-port=10051/tcp --permanent
#重启服务
firewall-cmd --reload

启动zibbix

#启动
systemctl restart zabbix-server zabbix-agent httpd php-fpm
#开机启动
systemctl enable zabbix-server zabbix-agent httpd php-fpm

登录

ip/zabbix
输入好数据库密码 一路下一步
账号:Admin
密码:zabbix

服务器 测试连通性

要在zabbix服务器上面去测试 就是可以打开web浏览器的那台linux
打开linux终端
客户端就是安装agent2 的linux机器

yum install zabbix-get -y
zabbix_get -s '客户端ip' -p 10050 -k 'agent.ping'
zabbix_get -s '客户端ip' -p 10050 -k 'system.hostname'

# agent.ping   显示1为测试正常
# system.hostname  显示主机名为测试正常

异常修复

更改显示错误

win11 打开控制面板 找到字体 下拉最后找到 楷体 常规  拉到桌面

#上传到linux 
scp C:\Users\狗蛋\Desktop\simkai.ttf root@192.168.88.8:"C:\Users\狗蛋\Desktop\simkai.ttf"

#修改配置文件
vim /usr/share/zabbix/include/defines.inc.php

输入:set nmuber
    :80
大概在80-90行之间   修改为simkai
define('ZBX_GRAPH_FONT_NAME', 'simkai'); // font file name

刷新浏览器即可

不能选择中文

#选不到中文就安装语言包
yum install glibc-langpack-zh.x86_64
localectl list-locales | grep zh

更改网址不用带 根

vim /etc/httpd/conf/httpd.conf
#设置行号
:set number
:124
# 124行注释掉
 DocumentRoot "/usr/share/zabbix/"

#重启
systemctl restart zabbix-server zabbix-agent httpd php-fpm

输入ip就可以了

缓存配置

默认值

  • CacheSize:32M,存监控配置信息。
  • ValueCacheSize:8M,存监控项实际数据值。

主机数量影响
默认适宜待机 50 台主机,超量可能致新主机加入后服务无法正常启动。
存储内容

  • ValueCacheSize:存监控项收集的实际数据。
  • CacheSize:存 Zabbix 监控配置信息。

使用场景

  • ValueCacheSize:加速实时数据访问,用于常看最新监控数据场景。
  • CacheSize:加速配置信息读取,保障数据收集处理按配置高效进行。
#修改配置文件
vim /etc/zabbix/zabbix_server.conf
:set nu
:553
#直接添加
ValueCacheSize=4096M
CacheSize=4096M

PHP8组件解释

  • php80:PHP 8.0 主要包,含核心解释器与基础功能。
  • php80-php-cli:PHP 命令行接口,便于命令行运行脚本。
  • php80-php-gd:GD 库扩展,处理图像,Zabbix 或用于图形显示。
  • php80-php-json:支持 JSON 格式解析与生成,Web 服务常用。
  • php80-php-mbstring:支持多字节字符串,对国际化应用重要。
  • php80-php-mysqlnd:MySQL 原生驱动,Zabbix 连 MySQL 数据库必需。
  • php80-php-xml:支持 XML 解析与生成,部分扩展或应用可能需用。
  • php80-php-bcmath:BC Math 库,提供高精度计算,部分扩展或应用需用。
  • php80-php-fpm:FastCGI 进程管理器,Nginx 搭配 PHP 作 FastCGI 进程时必需。

zibbix组件解释

  • zabbix-server-mysql:Zabbix 服务器包,收集处理客户端监控数据,依赖 MySQL 或 MariaDB 存储信息。
  • zabbix-web-mysql:含 Zabbix 前端 Web 界面,与 zabbix-server-mysql 协同,通过浏览器查看管理数据。
  • zabbix-apache-conf:提供 Apache 配置文件,助 Zabbix Web 界面集成到 Apache。
  • zabbix-sql-scripts:含创建 Zabbix 数据库结构的 SQL 脚本,适用于 MySQL、PostgreSQL 等。
  • zabbix-selinux-policy:若系统启用 SELinux,提供相应策略,保障 Zabbix 正常运行。
  • zabbix-agent:可装在被监控设备上收集数据发至服务器,也能监控服务器本地资源。

数据库创建解释

  • utf8mb4:属于 Unicode 字符集,能存储长达 4 字节的字符,可存储 emoji 等特殊字符,标准 utf8(utf8mb3)则无法做到。
  • utf8mb4_bin:是二进制校对规则,依字符二进制值比较,区分大小写,不考虑字符排序规则,若需不区分大小写的校对规则,可选 utf8mb4_general_ci 或 utf8mb4_unicode_ci 等。

权限解释

  1. 授予权限内容:赋予用户 zabbix 在 zabbix 数据库上的全面操作权限,涵盖创建表、删除表、插入数据、更新数据以及查询数据等各类操作。
  2. 指定数据库对象:使用 zabbix.* 明确权限作用范围为 zabbix 数据库内的所有对象,包括但不限于表、视图、存储过程等。
  3. 指定用户身份zabbix@localhost 所指的用户,用户名为 zabbix,且该用户仅能从 localhost(即 MySQL 服务器所在的本地机器)连接至 MySQL 服务器。
  4. 权限作用范围:此权限严格限定于 zabbix 数据库,对其他数据库不产生任何影响,确保权限的精准控制和数据库间的独立性。

MySQL 信任

非确定函数指相同输入可能返回不同结果的函数,常依赖数据库外信息(如当前时间、随机数、其他表状态等)。在 MySQL 中存储函数有确定性和非确定性之分。

即便新建数据库且未定义存储函数,启用二进制日志时定义非确定存储函数也可能出问题。因 MySQL 为保证复制一致性,默认不允许在二进制日志开启时创建非确定函数,否则主从服务器结果可能不同致数据不一致。

可设置 log_bin_trust_function_creators 为 1 来允许创建,但有风险,仅宜用于测试或开发环境。为避免创建初始数据报错,可先开启此设置,数据创建完后再关闭。

文章作者: 叫我狗蛋
本文链接:
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 我要肝网络
Linux
喜欢就支持一下吧