一、环境准备
1.OS:CentOS Linux 7
2.数据库版本:Mysql 8.0.35
二、前期准备
1.关闭OS防火墙,并禁用自动启动功能
systemctl stop firewalld
systemctl disable firewalld
2.禁用selinux
setenforce 0
永久关闭,重启后生效
sed -i 's/^ *SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
三、安装mysql数据库
1.进入社区版本下载页面:
https://dev.mysql.com/downloads/
2.首先安装资源库,复制资源库下载地址,然后通过wget命令进行下载,注意选择相应的版本,如果是centos7可选择redhat7对应的版本
(1)、下载执行:
wget https://dev.mysql.com/get/mysql80-community-release-el7-11.noarch.rpm
(2)、执行安装:
yum install -y mysql80-community-release-el7-11.noarch.rpm,安装完成如图所示
(3)、下载mysql服务器端安装程序,同样注意版本选择
(4)、执行下载命令
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-community-server-8.0.35-1.el7.x86_64.rpm
(5)、下载完成后执行安装
yum install -y mysql-community-server-8.0.35-1.el7.x86_64.rpm,安装完成如图所示
(6)、启动mysql并查看数据库状态
systemctl start mysqld
systemctl status mysqld
通过以上内容显示,数据库状态正常
(7)、初始化数据库操作
a.查询数据库数据密码并登录数据库,执行:
grep "password" /var/log/mysqld.log
b.其中_R/tyqsMo8VQ为初次登录数据库密码,以此密码登录数据库
c.修改root密码,执行如下命令
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
d.在MYSQL中输入status命令,查看当前数据库状态
(8)、设置mysql开机自动启动
systemctl enable mysqld
systemctl daemon-reload
四、安装zabbix
1.登录zabbix官网,选择相应的zabbix、MYSQL以及apache版本,选择好对应的组件及支持软件版本后,下方会生成不同的安装命令,如图所示
2.安装并配置zabbix
a.安装zabbix资源库
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
yum clean all
b.安装zabbix server,web前端,agent,此处建议按官网提供的命令分步安装
yum install -y zabbix-server-mysql
yum install -y zabbix-agent
c.安装zabbix前端
启用 centos软件集合
yum install -y centos-release-scl
编辑配置文件并启用前端存储库
vim /etc/yum.repos.d/zabbix.repo
[zabbix-frontend]
...
enabled=1
...
安装前端软件包
yum install -y zabbix-web-mysql-scl
yum install -y zabbix-apache-conf-scl
d.创建初始数据库
在数据库主机上运行以下代码
# mysql -uroot -p
password
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> create user zabbix@localhost identified by 'password';
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> set global log_bin_trust_function_creators = 1;
mysql> quit;
导入初始架构和数据,系统将提示您输入新创建的密码。
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
此处执行需要一段时间,执行完成后可登录MYSQL查看zabbix库中有多少表,确认相关内容已被导入。命令:use zabbix;show tables;
导入后修改参数
# mysql -uroot -p
password
mysql> set global log_bin_trust_function_creators = 0;
mysql> quit;
e.为zabbix server配置数据库
编辑配置文件 /etc/zabbix/zabbix_server.conf
DBPassword=password
f.配置前端php,编辑文件/etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf,设置与操作系统相同的时区。
php_value[date.timezone] = Europe/Riga
g.启动zabbix server和agent进程,建议分步启动,以便当出现问题时逐个查看
systemctl start zabbix-server
systemctl start zabbix-agent
systemctl start httpd
systemctl start rh-php72-php-fpm
3.问题
1.zabbix server启动报错:
Job for zabbix-server.service failed because a configured resource limit was exceeded. See "systemctl status zabbix-server.service" and "journalctl -xe" for details.
通过journalctl -xe命令查看,服务进入失败状态,没有详细信息
此时再看zabbix server日志
more /var/log/zabbix/zabbix_server.log
详细问题显现,无法连接到MYSQL数据库:
问题分析:
使用客户端链接mysql数据库,如果数据库版本高于8.0,可能出现以上问题,因为8.0以前默认使用mysql_native_password身份验证机制,8.0以后默认使用caching_sha2_password方式,因此需要将用户zabbix改成mysql_native_password验证机制,执行命令
select user,plugin from mysql.user;
ALTER USER 'zabbix'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new password';
执行后再次启动zabbix server启动成功。
五、初始化
1.登录系统http://ip/zabbix
2.所有检查项均已通过
3.输入数据库密码
4.此处输入系统名称
5.总结界面
6.完成
7.首次登录用默认的用户名及密码Admin/zabbix
8.登录后首页