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


Please Help Members By Posting Answers For Below Questions

Can non graphic characters be used and processed in C++?

701


What is the standard template library (stl)?

621


What is function prototyping? What are its advantages?

588


Can I run c program in turbo c++?

577


Explain shallow copy?

610






How many types of classes are there in c++?

590


How can virtual functions in c++ be implemented?

608


What is this pointer in c++?

732


How can we check whether the contents of two structure variables are same or not?

582


What is the difference between cin.read() and cin.getline()?

555


What are the types of pointer?

546


What is difference between class and structure in c++?

621


How is computer programming useful in real life?

594


Write about c++ storage classes?

744


What happens if a pointer is deleted twice?

787