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
Is c++ a good first language to learn?
What is the error in the code below and how should it be corrected?
Describe the role of the c++ in the tradeoff of safety vs. Usability?
What is c++ virtual inheritance?
What is void pointer in c++ with example?
Is multimap sorted c++?
Do you know the problem with overriding functions?
How can a struct in c++ differs from a struct in c?
Eplain extern keyword?
Is c++ a low level language?
How we can differentiate between a pre and post increment operators during overloading?
What is fflush c++?
Write a c program for binary addition of two 8 bit numbers.
What are arrays c++?
Explain register storage specifier.