切换zabbix数据库
原创
©著作权归作者所有:来自51CTO博客作者ch3nnn的原创作品,请联系作者获取转载授权,否则将追究法律责任
数据导出(备份)
mysqldump -h127.0.0.1 -uzabbix -pzabbix zabbix > zabbix.sql
数据导入(恢复)
mysql -h127.0.0.1 -uzabbix -pzabbix zabbix < zabbix.sql
修改zabbix配置
找到zabbix.conf.php文件,默认如下:
<?php
// Zabbix GUI configuration file.
global $DB;
$DB['TYPE'] = 'MYSQL';
$DB['SERVER'] = 'localhost';
$DB['PORT'] = '3306';
$DB['DATABASE'] = 'zabbix';
$DB['USER'] = 'zabbix';
$DB['PASSWORD'] = 'zabbix';
// Schema name. Used for IBM DB2 and PostgreSQL.
$DB['SCHEMA'] = '';
$ZBX_SERVER = 'localhost';
$ZBX_SERVER_PORT = '10051';
$ZBX_SERVER_NAME = 'zabbix';
$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;
这里需要将配置信息修改为新的数据库地址和端口以及用户名库名字
在zebbix测试创建新用户能在新的数据库生成数据以为迁移成功了, 但是不一会访问zabbix页面会出现 Zabbix server is not running(前端显示Zabbix server停止工作问题)
好吧, 我只能把zabbix服务停止, 使用命令
service zabbix-server stop
关于zabbix-server 卡死问题有几种,但是在网上搜索都不是我的问题. 没办法我只能把 主进程杀死看看行不行 Main PID: 24677 (zabbix_server) ,
再执行zabbix服务停止, 这次直接卡死不动没办法 zabbix进程太多也可能互相有依赖. 最后没办法了批量杀死
ps -ef | grep zabbix-server | grep -v 'grep' | awk '{print $2}' |xargs kill -9
ps -ef : 打印出正在运行的进程信息
grep hello : 通过管道查找进程信息带有zabbix-server关键字的进程
grep -v 'grep' : 去掉grep自身进程的信息
awk '{print $2}' : 取得进程号
xargs kill -9 : 杀死进程
另开窗口查看日志。
tail -999f /var/log/zabbix/zabbix_server.log
查看日志方向怎么没连接数据库
想起来了当时只改了zabbix.conf.php这个文件, 还没有改/etc/zabbix/zabbix_server.conf文件
这里需要填写切换的数据地址
这次应该没问题了 执行:
service zabbix-server start
参看以下状态:
service zabbix-server status
访问zabbix页面 正常