####安装
- 准备zabbix源
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/8/x86_64/zabbix-release-5.0-1.el8.noarch.rpm
yum repolist
可以查看是否安装源成功
- 安装
yum -y install zabbix-server-mysql zabbix-agent
安装前端相关依赖
yum -y install zabbix-web-mysql.noarch zabbix-nginx-conf.noarch
- 安装数据库相关依赖
- 安装mysql
下载mysql源
代码语言:txt复制wget https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm
代码语言:txt复制# 安装mysql数据源
代码语言:txt复制yum install mysql80-community-release-el8-1.noarch.rpm
代码语言:txt复制# 检测mysql源是否安装成功
代码语言:txt复制yum repolist enabled | grep "mysql.*-community.*"
代码语言:txt复制# 禁用centos自带的mysql模块
代码语言:txt复制yum module disable mysql
代码语言:txt复制# 安装mysql
代码语言:txt复制yum install mysql-community-server
代码语言:txt复制service mysqld status
代码语言:txt复制service mysqld start
代码语言:txt复制# 查找随机密码
代码语言:txt复制grep 'temporary password' /var/log/mysqld.log
代码语言:txt复制mysql -uroot -p
修改默认密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Root_21root'
查看密码策略
SHOW VARIABLES LIKE 'validate_password%';
修改密码长度
set global validate_password_length=1;
set global validate_password.length=1;
修改密码等级
set global validate_password_policy=0;
set global validate_password.policy=0;
设置自己想要的密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'xxxxxxxx'
mysql 8以上需要修改配置文件 /etc/my.cnf
default_authentication_plugin=mysql_native_password
代码语言:txt复制
mysql允许远程连接
代码语言:txt复制
create user 'root'@'%' identified by 'zHAs3erVUnD0DkJz';
grant all privileges on . to 'root'@'%' with grant option;
FLUSH PRIVILEGES;
代码语言:txt复制
配置
- mysql配置
- 创建zabbix数据库
`create database zabbix character set utf8 collate utf8_bin;`
- 创建zabbix用户
` create user 'zabbix'@'%' identified by 'zabbix';`
代码语言:txt复制 `grant all on zabbix.* to zabbix@'%';`
- 找到初始化数据库的sql
```shell
代码语言:txt复制 rpm -ql zabbix-server-mysql
代码语言:txt复制 zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz > zabbix.sql
代码语言:txt复制 vim zabbix.sql
代码语言:txt复制 #在第一行新增, 选择数据库, 就上面新创建的就行
代码语言:txt复制 use zabbix;
代码语言:txt复制 # 注入SQL
代码语言:txt复制 Mysql -p < zabbix.sql
代码语言:txt复制
- zabbix配置
vim /etc/zabbix/zabbix_server.conf
数据库名称
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
代码语言:txt复制
- 配置前端应用
代码语言:txt复制vim /etc/php-fpm.d/zabbix.conf
代码语言:txt复制listen.acl_users = apache,nginx
代码语言:txt复制php_value[date.timezone] = Asia/Shanghai
代码语言:txt复制vim /etc/nginx/conf.d/zabbix.conf
代码语言:txt复制 listen 80;
代码语言:txt复制 server_name 10.122.1.79;
代码语言:txt复制
- 检测安全项目
关闭防火墙
systemctl disable --now firewalld
selinux
setenforce 0
vim /etc/selinux/config
SELINUX=disable
代码语言:txt复制
启动
代码语言:txt复制systemctl start zabbix-server.service php-fpm.service nginx.service
此时可以访问该ip了
- 确认配置是否都是ok的
- 连接数据库
3.. 输入名称
- 确认配置
- 配置成功
- 开始使用
报错及解决方案
- The server requested authentication method unknown to the client
- 删除之前的用户
delete from user where user='zabbix' and host='localhost';
- 修改mysql配置文件
default_authentication_plugin=mysql_native_password
- 重启mysql并创建用户
create user zabbix@localhost identified by 'zabbix1';``grant all privileges on zabbix.* to zabbix@localhost;
- 设置远程连接
update user set host='%' where user='zabbix';
flush privileges;
- 确认可以远程连接
select host, user, authentication_string, plugin from user;
zabbix用户的host是% 表示成功 - 重启mysql和php-fpm
- Unsupported charset or collation for tables:
数据库字符集问题
- 删除原本的数据库
drop database zabbix;
- 创建新的数据库
create database zabbix character set utf8 collate utf8_bin;
- 注入表格等内容
mysql -p < zabbix.sql
- 数据库密码不符规定
查看密码策略
SHOW VARIABLES LIKE 'validate_password%';
修改密码长度
set global validate_password_length=1;
set global validate_password.length=1;
修改密码等级
set global validate_password_policy=0;
set global validate_password.policy=0;
设置自己想要的密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'xxxxxxxx'
代码语言:txt复制