Write a C/C++ program that connects to a MySQL server and
checks if the InnoDB plug-in is installed on it. If so, your
program should print the total number of disk writes by MySQL.
Answer Posted / pramod badiger
/* C ++ program that connects to a MySQL server and checks if the InnoDB plug-in is installed on it. If so, your program should print the total number of disk writes by MySQL*/
#include <mysql.h> /*provides C client library to write programs for MySQL*/
#include <stdio.h> /*standard input/output header*/
#include<plugin.h> /* Is used with mysql storage engines like InnoDB plugin*/
int main()
{
MYSQL *conn; /* pointer to connection handler */
MYSQL_RES *res; /*Variable for storing db results*/
MYSQL_ROW row; /*variable for storing the single row of db*/
char *server_name = "localhost"; /* server host */
char *user_name = "root"; /* username (default=login name) */
char *password = "2ba07is045"; /* your login password*/
char *database_name = "mysql"; /*database name*/
conn = mysql_init(NULL); /* initialize connection handler */
/* CONNECTION TO MySQL SERVER */
if (mysql_real_connect(conn, server_name, user_name, password, database_name, 0, NULL,
0)==NULL)
{
/*Connection Failed*/
fprintf (stderr, "mysql_real_connect() failed\n");
/*close the connection*/
mysql_close (conn);
exit (1);
}
/*checking wheather InnoDB plug-in is installed or what */
if (mysql_query(conn, "select *from information_schema.plugins where
plugin_name=’mysql_plugin’ ")!==NULL) /*fuction returns zero if the statement was successful, Nonzero if an error occurred*/
{
printf(“InnoDB plug –in is not installed\n”);
exit(1);
}
/*After invoking mysql_query() or mysql_real_query(), we must call mysql_store_result() or mysql_use_result() for every statement that successfully produces a result set*/
res = mysql_use_result(conn);/* returns MYSQL_RES structure otherwise NULL if an error
occurred*/
printf("Information of installed InnoDB plug-in…………….\n");
/*Prints Plug-in type,name,author,version etc*/
while ((row = mysql_fetch_row(res)) != NULL)
printf("%s \n", row[0]);
mysql_free_result(res);
/* send SQL query SHOW TABLES to list the non-TEMPORARY tables in a given database */
if (mysql_query(conn, "show tables")!=NULL)
/*returns zero if the statement was successful. Nonzero if an error occurred*/
{
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}
res = mysql_use_result(conn);/* returns MYSQL_RES structure otherwise NULL if an error
occurred*
/* Prints tables name in the database */
printf("MySQL Tables in mysql database:\n");
while ((row = mysql_fetch_row(res)) != NULL)
printf("%s \n", row[0]);
mysql_free_result(res);
/*Number of Disk writes By the MySQL*/
if (mysql_query(conn, "SHOW STATUS LIKE 'key_writes%'"))
/*returns zero if the statement was successful. Nonzero if an error occurred*/
{
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}
res = mysql_use_result(conn); /*stores key writes*/
row = mysql_fetch_row(res); /*fetching the result*/
printf(“No of Disk writes\n”)
printf("%s ", row[0]); /*Displaying the No of Disk writes By MySQL*/
mysql_close(conn); /*close the connection*/
}
Is This Answer Correct ? | 10 Yes | 2 No |
Post New Answer View All Answers
Which operations are permitted on pointers?
What does the linker do?
What is the basic of c++?
Do we have to use initialization list in spite of the assignment in constructors?
which of the following is not an secondary constant a) array b) real c) union
What is constructor and destructor in c++?
What is the difference between c++ and turbo c++?
What is namespace std; and what is consists of?
Write a program in C++ for Fibonacci series
Can you overload the operator+ for short integers?
Tell me difference between constant pointer and pointer to a constant.
Explain differences between alloc() and free()?
What is c++ hiding?
What is this weird colon-member (" : ") syntax in the constructor?
Why do we need function?