Zabbix-agent(数据采集)--->Zabbix-server(数据分析、报警)--->数据库(数据存储)<---Zabbix web(数据显示)
1.Zabbix架构之拆分数据库1. 准备一台数据库主机,安装MySQL版本要一致
# 安装数据库,启动并加入开机自启
[root@dba-01 ~]# yum install -y mariadb-server
[root@dba-01 ~]# systemctl start mariadb
[root@dba-01 ~]# systemctl enable mariadb
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
2. 创建Zabbix数据库,授权(需要网络授权)
[root@dba-01 ~]# mysql # 进入数据库
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.68-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin; # 创建一个数据库
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@'%' identified by 'zabbix';
Query OK, 0 rows affected (0.01 sec)
3. 在旧数据库上备份库,然后恢复到新的数据库
# 在zabbix-server主机上创建数据库备份
[root@zabbix-server ~]# mysqldump -uroot --databases zabbix --single-transaction > `date +%F%H`-zabbix.sql
# 查看备份数据
[root@zabbix-server ~]# vi 2021-09-0921-zabbix.sql
-- MySQL dump 10.14 Distrib 5.5.68-MariaDB, for Linux (x86_64)
--
-- Host: localhost Database: zabbix
-- ------------------------------------------------------
-- Server version 5.5.68-MariaDB
...................省略部分..............................
# 上传至数据库主机
[root@zabbix-server ~]# cat 2021-09-0921-zabbix.sql | mysql -h192.168.10.146 -uzabbix -predhat zabbix
ERROR 1045 (28000): Access denied for user 'zabbix'@'192.168.10.134' (using password: YES)
4. 修改Zabbix-server配置文件指向新的数据库的ip
[root@zabbix-server ~]# vim /etc/zabbix/zabbix_server.conf
DBHost=192.168.10.146 # 修改为新数据库的ip地址即可
# 重启zabbix-server服务
[root@zabbix-server ~]# systemctl restart zabbix-server
5. 修改Zabbix-web配置文件指向新的数据库的ip
# 修改zabbix-web配置文件
[root@zabbix-server ~]# vim /etc/zabbix/web/zabbix.conf.php
$DB['SERVER'] = '192.168.10.146'; # 只要修改这一个位置就可以
# 重启httpd服务
[root@zabbix-server ~]# systemctl restart httpd
注意:这种数据库的迁移,会造成数据的丢失,在生产环境中不适用