一、zabbix数据库拆分
目前我们zabbix的架构,单台zabbix服务:LAMP+zabbix
我们需要实现zabbix架构,将数据库拆分成单独的一台,LAP+zabbix+MySQL
二、环境准备
主机名 |
wanIP |
lanIP |
角色 |
zabbix |
10.0.0.71 |
172.16.1.71 |
zabbix-server |
db01 |
10.0.0.51 |
172.16.1.51 |
MySQL |
三、导出原MySQL中数据
#导出zabbix数据
[root@zabbix ~]# mysqldump -uroot -p -B zabbix > /tmp/zabbix.sql
#拷贝数据到db01
[root@zabbix ~]# scp /tmp/zabbix.sql 10.0.0.51:/tmp
四、准备新的数据库环境
#安装数据库
[root@db01 ~]# yum install -y mariadb-server
#启动数据库
[root@web01 ~]# systemctl start mariadb
#导入数据
[root@web01 ~]# mysql -uroot -p < /tmp/zabbix.sql
五、关闭原来的数据库
#关闭数据库
[root@redis02 ~]# systemctl stop mariadb
#打开浏览器查看
凉凉,为啥呢?因为我们需要修改php代码连接数据库,就和之前我们修改wordpres连库代码一样
![](https://img2020.cnblogs.com/blog/2087967/202112/2087967-20211221143931059-414216647.png)
六、修改连接数据库代码
#修改代码
[root@redis02 ~]# vim /etc/zabbix/web/zabbix.conf.php
<?php
// Zabbix GUI configuration file.
global $DB;
$DB['TYPE'] = 'MYSQL';
$DB['SERVER'] = '10.0.0.51';
$DB['PORT'] = '0';
$DB['DATABASE'] = 'zabbix';
$DB['USER'] = 'zabbix';
$DB['PASSWORD'] = '123';
// Schema name. Used for IBM DB2 and PostgreSQL.
$DB['SCHEMA'] = '';
$ZBX_SERVER = 'localhost';
$ZBX_SERVER_PORT = '10051';
$ZBX_SERVER_NAME = '曾老湿';
$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;
#修改配置文件
[root@redis02 ~]# vim /etc/zabbix/zabbix_server.conf
DBHost=10.0.0.51
#重启zabbix-server
[root@redis02 ~]# systemctl restart zabbix-server
#打开浏览器测试
新一轮的报错又出现了,刚才是连接不上localhost的,现在连接不上10.0.0.8 证明什么,证明我们新装的数据库不允许远程连接,我们可以使用命令行测试一下。
![](https://img2020.cnblogs.com/blog/2087967/202112/2087967-20211221143939521-1760113331.png)
七、创建数据库授权用户
#是拒绝的,所以我们创建个用户即可
[root@redis02 ~]# mysql -uzabbix -p123 -h 10.0.0.7
ERROR 1130 (HY000): Host '10.0.0.8' is not allowed to connect to this MariaDB server
#创建用户
MariaDB [(none)]> grant all on zabbix.* to zabbix@'10.0.0.%' identified by 'zabbix';
Query OK, 0 rows affected (0.00 sec)
![](https://img2020.cnblogs.com/blog/2087967/202112/2087967-20211221143945575-260426515.png)
![](https://img2020.cnblogs.com/blog/2087967/202112/2087967-20211221143953252-527279382.png)