ÃÑ ÆäÀÌÁö ¼ö : 3224
![]()
|
Facebook Joinc ±×·ì
Joinc QA »çÀÌÆ®
![]()
Tweet
joinc´Â Firefox¿Í chrome¿¡¼ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù. ¼Ò°³
QOS ¿¡´Â ¾ÖÇø®ÄÉÀÌ¼Ç Ç°ÁúÀÇ ÃøÁ¤µµ Æ÷ÇԵȴÙ. ´ëºÎºÐÀÇ ¾ÖÇø®ÄÉÀ̼ÇÀÌ Ç°ÁúÀ» °ü¸®ÇÒ ¼ö ÀÖ´Â API¸¦ Á¦°øÇϱ⠶§¹®¿¡, È£Ãâ¹æ¹ý¸¸ ¾Ë°í ÀÖ´Ù¸é ¹®Á¦ ¾øÀÌ Á¤º¸¸¦ ¾ò¾î³¾ ¼ö ÀÖ´Ù. ¿©±â¿¡¼´Â MysqlÀÇ °ü¸®Á¤º¸¸¦ ¾ò´Â ¹æ¹ý¿¡ ´ëÇØ¼ ¾Ë¾Æº¸µµ·Ï ÇϰڴÙ. ¿©±â¿¡¼´Â MysqlÀÇ Alive »óŸ¦ üũÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ¼ ¾Ë¾Æº¸µµ·Ï ÇϰڴÙ. Alive
¼¹ö ÇÁ·Î±×·¥À¸·Î µ¥¸ó »óÅ·Π½ÇÇàµÇ°í ÀÖ´Ù¸é, °¡Àå Áß¿äÇÑ°Ç ¼¹ö ÇÁ·Î±×·¥ÀÌ ¶° ÀÖ´ÂÁö, Ŭ¶óÀ̾ðÆ®ÀÇ ÀÀ´äÀ» ¹Þ¾Æ´Â µéÀÌ´ÂÁö ÇÏ´Â °ÍÀÌ´Ù. ¿¬°á¼Óµµ, ÀÀ´ä¼Óµµ´Â ±× ´ÙÀ½ÀÇ ¹®Á¦´Ù. mysqlÀº mysqladminÀ̶ó´Â ÇÁ·Î±×·¥À» ÀÌ¿ëÇØ¼ Alive üũ¸¦ ÇÒ ¼ö ÀÖ°Ô Çϰí ÀÖ´Ù. # mysqladmin -u root -p ping mysqld is alive
¹°·Ð C API¸¦ ÅëÇØ¼µµ Á¢±ÙÇÒ ¼ö ÀÖ´Ù. ¿©±â¿¡¼´Â mysql C API ¿¡¼ Á¦°øÇÏ´Â mysql_ping À» ÅëÇØ¼ mysql ¼¹öµ¥¸óÀÇ Alive¸¦ üũÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ¼ ¾Ë¾Æº¸µµ·Ï ÇϰڴÙ. Mysql Alive Check
mysql_ping´Â ¼¹ö°¡ »ì¾Æ ÀÖÀ» °æ¿ì 0À», ±×·¸Áö ¾ÊÀº °æ¿ì 1À» ¸®ÅÏÇÑ´Ù. ¼¹öÀÇ Alive üũ´Â mysql ¼¹ö¿ÍÀÇ ¿¬°áÀÌ ÀÌ·ç¾îÁø »óÅ¿¡¼ ÇàÇØÁö°Ô µÈ´Ù. ±×·¯¹Ç·Î mysql_pingÀÌ 1À» ¸®ÅÏÇß´Ù¸é, ¿¬°áÀ» ²÷Àº ´ÙÀ½, ¿¬°áÀ» ½ÃµµÇÏ´Â °úÁ¤À» °ÅÃÄ¾ß ÇÑ´Ù.
ÀÌ ÄÚµå´Â È®À强À» °í·ÁÇÑ Agent ManagerÀÇ ¹æ½ÄÀ¸·Î ¸¸µé¾îÁú °ÍÀÌ´Ù. ¶ÇÇÑ ¼³Á¤¶óÀ̺귯¸®µµ Æ÷ÇÔÇϰí Àִµ¥, À̰ÍÀº °£´ÜÇÑ ¼³Á¤ÆÄÀÏ Àбâ ÇÔ¼ö¸¦ ÀÌ¿ëÇÒ °ÍÀÌ´Ù.// Standard C++ Library #include <iostream> #include <string> // Standard C Library #include <stdlib.h> #include <mysql.h> #include <stdio.h> // Agent Library #include <cinterface.h> #include <common.h> #include <qosconfig.h> using namespace std; /* * Global Variable */ MYSQL *connection = NULL, conn; MYSQL_RES *sql_result; MYSQL_ROW *sql_row; struct QosFile myFile; char *SndData = NULL; // ÃʱâÈ ÇÔ¼ö int Init() { int rtv = 0; char *rootDir; rootDir = getenv("QOS_HOME"); if (rootDir == NULL) return rtv; sprintf(myFile.rootDir, "%s", rootDir); sprintf(myFile.logDir, "%s/log", rootDir); sprintf(myFile.tmpDir, "%s/tmp", rootDir); sprintf(myFile.binDir, "%s/bin", rootDir); sprintf(myFile.cfgDir, "%s/cfg", rootDir); Config *moduleCfg; string uname; string passwd; string host; const char *mysqlinfo; int port; char sqlValue[5][10]; moduleCfg = new Config(); // ¼³Á¤°ªÀ» Àоî¿Â´Ù. rtv = moduleCfg->openCfg("config.cfg"); host = moduleCfg->getValue("MSA", "host"); uname = moduleCfg->getValue("MSA", "user"); passwd = moduleCfg->getValue("MSA", "password"); port = atoi(moduleCfg->getValue("MSA", "port")); mysql_init(&conn); connection = mysql_real_connect(&conn, host.c_str(), uname.c_str(), passwd.c_str(), "mysql", port, NULL, 0); if (connection == NULL) { printf("Mysql connection error : %s\n", mysql_error(&conn)); return 0; } if (SndData == NULL) SndData = (char *)malloc(256); return 1; } // Àç½Ãµµ ÇÔ¼ö, int Retry() { if (connection != NULL) { mysql_close(connection); connection = NULL; } printf("INIT Start\n"); mysql_init(&conn); printf("INIT End\n"); connection = mysql_real_connect(&conn, "localhost", "root", "rnffjrksek", "mysql", 3306, NULL, 0); if (connection == NULL) { printf("Mysql connection error : %s\n", mysql_error(&conn)); return 0; } return 1; } // Alive µ¥ÀÌÅÍ ¿äûÇÔ¼ö char *Read() { int rtv; rtv = 0; if (connection != NULL) rtv = mysql_ping(connection); if (rtv != 0) { Retry(); } sprintf(SndData, "MSA=%d", rtv); return SndData; } int Clean() { if (connection != NULL) { mysql_close(connection); connection = NULL; } if (SndData != NULL) { free(SndData); SndData = NULL; } return 1; }°£´ÜÇÑ Å×½ºÆ®¸¦ À§Çؼ ´ÙÀ½°ú °°Àº main ÇÔ¼ö¸¦ °¡Áö´Â ÇÁ·Î±×·¥À» ¸¸µé¾ú´Ù. int main(int argc, char *argv[])
{
int rtv;
char *rdata;
rtv = Init();
if (rtv == 0)
{
printf("Init Error");
return 0;
}
while(1)
{
rdata = Read();
printf("PING : %s\n", rdata);
sleep(1);
}
Clean();
}
MySqlÀÌ ¼³Ä¡µÇ¾î ÀÖ´Ù¸é, Alive »óȲÀ» Á¦´ë·Î Ã¼Å©ÇØ ³»´ÂÁö Å×½ºÆ®Çغ¸±â ¹Ù¶õ´Ù.
|
|
|
EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù. |
|