⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mgmapi_logevent.cpp

📁 这是linux下运行的mysql软件包,可用于linux 下安装 php + mysql + apach 的网络配置
💻 CPP
字号:
/* Copyright (C) 2003 MySQL AB   This program is free software; you can redistribute it and/or modify   it under the terms of the GNU General Public License as published by   the Free Software Foundation; either version 2 of the License, or   (at your option) any later version.   This program is distributed in the hope that it will be useful,   but WITHOUT ANY WARRANTY; without even the implied warranty of   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the   GNU General Public License for more details.   You should have received a copy of the GNU General Public License   along with this program; if not, write to the Free Software   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */#include <mysql.h>#include <ndbapi/NdbApi.hpp>#include <mgmapi.h>#include <stdio.h>/* * export LD_LIBRARY_PATH=../../../libmysql_r/.libs:../../../ndb/src/.libs */#define MGMERROR(h) \{ \  fprintf(stderr, "code: %d msg: %s\n", \          ndb_mgm_get_latest_error(h), \          ndb_mgm_get_latest_error_msg(h)); \  exit(-1); \}#define LOGEVENTERROR(h) \{ \  fprintf(stderr, "code: %d msg: %s\n", \          ndb_logevent_get_latest_error(h), \          ndb_logevent_get_latest_error_msg(h)); \  exit(-1); \}int main(){  NdbMgmHandle h;  NdbLogEventHandle le;  int filter[] = { 15, NDB_MGM_EVENT_CATEGORY_BACKUP,		   15, NDB_MGM_EVENT_CATEGORY_CONNECTION,		   15, NDB_MGM_EVENT_CATEGORY_NODE_RESTART,		   15, NDB_MGM_EVENT_CATEGORY_STARTUP,		   15, NDB_MGM_EVENT_CATEGORY_ERROR,		   0 };  struct ndb_logevent event;  ndb_init();  h= ndb_mgm_create_handle();  if ( h == 0)  {    printf("Unable to create handle\n");    exit(-1);  }  if (ndb_mgm_connect(h,0,0,0)) MGMERROR(h);  le= ndb_mgm_create_logevent_handle(h, filter);  if ( le == 0 )  MGMERROR(h);  while (1)  {    int timeout= 5000;    int r= ndb_logevent_get_next(le,&event,timeout);    if (r == 0)      printf("No event within %d milliseconds\n", timeout);    else if (r < 0)      LOGEVENTERROR(le)    else    {      switch (event.type) {      case NDB_LE_BackupStarted:	printf("Node %d: BackupStarted\n", event.source_nodeid);	printf("  Starting node ID: %d\n", event.BackupStarted.starting_node);	printf("  Backup ID: %d\n", event.BackupStarted.backup_id);	break;      case NDB_LE_BackupCompleted:	printf("Node %d: BackupCompleted\n", event.source_nodeid);	printf("  Backup ID: %d\n", event.BackupStarted.backup_id);	break;      case NDB_LE_BackupAborted:	printf("Node %d: BackupAborted\n", event.source_nodeid);	break;      case NDB_LE_BackupFailedToStart:	printf("Node %d: BackupFailedToStart\n", event.source_nodeid);	break;      case NDB_LE_NodeFailCompleted:	printf("Node %d: NodeFailCompleted\n", event.source_nodeid);	break;      case NDB_LE_ArbitResult:	printf("Node %d: ArbitResult\n", event.source_nodeid);	printf("  code %d, arbit_node %d\n",	       event.ArbitResult.code & 0xffff,	       event.ArbitResult.arbit_node);	break;      case NDB_LE_DeadDueToHeartbeat:	printf("Node %d: DeadDueToHeartbeat\n", event.source_nodeid);	printf("  node %d\n", event.DeadDueToHeartbeat.node);	break;      case NDB_LE_Connected:	printf("Node %d: Connected\n", event.source_nodeid);	printf("  node %d\n", event.Connected.node);	break;      case NDB_LE_Disconnected:	printf("Node %d: Disconnected\n", event.source_nodeid);	printf("  node %d\n", event.Disconnected.node);	break;      case NDB_LE_NDBStartCompleted:	printf("Node %d: StartCompleted\n", event.source_nodeid);	printf("  version %d.%d.%d\n",	       event.NDBStartCompleted.version >> 16 & 0xff,	       event.NDBStartCompleted.version >> 8 & 0xff,	       event.NDBStartCompleted.version >> 0 & 0xff);	break;      case NDB_LE_ArbitState:	printf("Node %d: ArbitState\n", event.source_nodeid);	printf("  code %d, arbit_node %d\n",	       event.ArbitState.code & 0xffff,	       event.ArbitResult.arbit_node);	break;      default:	break;      }    }  }        ndb_mgm_destroy_logevent_handle(&le);  ndb_mgm_destroy_handle(&h);  ndb_end(0);  return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -