1. Describe MySQL architecture.
Answer: MySQL has got the logical architecture as follows
A. Connection Manager
B. Query Optimizer
C. Pluggable Engines.
2. What are the major differences between MySQL 5.1 and 5.5?
Answer: The Major difference I know is that the default engine was myisam in 5.1 and innodb in 5.5
3. What are the different database engines available in MySQL? (explain)
Answer: Following are the highly used engines available in mysql
A. MyISAM
B. INNODB
C. Memory
D. Federated
E. CSV
4. What are the major differences between MyISAM and InnoDB?
Answer: Following are the differences between InnoDB and MyISAM
A. MyISAM does not support transactions whereas InnoDB does.
B. InnoDB supports multi versioning concurrency control.
C. MyISAM uses table level locks and InnoDB uses row level locking.
5. Which engine would you prefer for production OLTP environment and why?
Answer: InnoDB (to be transaction safe)
6. What are the best installation practices for MySQL?
Answer: there are following installation methods available
A. Binary Installation
B. RPM Installation
C. Source Code compilation
after installation you should change the location of bin logs and datafiles on the different physical disks.
7. Which RAID level is best suited for MySQL?
Answer: RAID 10
8. How do you upgrade from one mysql version to another mysql version?
Answer: create a slave on newer version and change it to MASTER.
9. How many types of logs are there in mysql?
Answer: General Log, Error Log, Binary Log and Slow Query Log
10. How do you find out slow queries in mysql?
Answer : By enabling the slow query log as follows
SET GLOBAL slow_query_log = 1;
11. How do you go through the MySQL slow query log?
Answer : slow query log might be very huge in size and query could be listed thousand times. to summarize the slow query log in a very informative way there is third party tool available 'pt-query-digest' which is a part of percona tool kit freely downloadable.
12. How do you check the uptime of a mysql server?
Answer : following command gives you the system status
status
13. If the mysql server is performing slow than how to find out the process which is causing problem.
Answer : show processlist
14. What do you do if the end user complains about the performance of the DB?
Answer : show processlist will show the processes which taking resources at db server and the do the rest diagnosis.
15. What do you do about the slow queries?
Answer : study the explain plan and create necessary indexes if required.
16. Where do you change the performance parameters of mysql and by default where is the file located on a unix system?
Answer : my.cnf. this file is available under /etc/my.cnf
17. Which are the important performance parameters for MyISAM and InnoDB?
Answer : For MyISAM
key_cache_size
thread_cache_size
tmp_table_size
max_heap_table_size
read_buffer_size
query_cache
For InnoDB
innodb_buffer_pool_size
innodb_buffer_pool_instances
innodb_log_file_size
innodb_log_buffer_size
tmp_table_size
max_heap_table_size
table_open_cache
18. Should we have Query_cache enabled?
Answer : in many caches yes.
19. what are the disadvantages of having a big Query cache size?
Answer : query cache puts an additional overhead on the database. it required the db to work on invalidating the queries from the query cache.
20. what should be the optimum size of InnoDB buffer cache?
Answer : it should be the 70-80% of the memory available.
21. How do you backup InnoDB tables?
Answer : there are two ways of taking backup
1. mysqldump with --single-transaction
2. xtrabackup (part of percona)
22. How to take incremental backup in MySQL?
Answer : Using percona xtrabackup
23. Can the database be renamed in MySQL?
Answer : No.
24. How to check the table fragmentation and resolve if the fragmentation is found?
Answer : following query will list all the fragmented tabes
SELECT TABLE_SCHEMA, TABLE_NAME, CONCAT(ROUND(data_length / ( 1024 * 1024 ), 2), 'MB') DATA, CONCAT(ROUND(data_free / ( 1024 * 1024 ), 2), 'MB')FREE from information_schema.TABLES where TABLE_SCHEMA NOT IN ('information_schema','mysql') and Data_free < 0;
then run the following command on tables given by the query
alte table < table returned from pervious query > engine=innodb;
25. How to change the root password if the root password is lost?
Answer : start the Db with --skip-grants-table. change the password and restart the db in normal mode.
26. What do you do if the data disk is full?
Answer : if the data disk is full then create a soft link and move the .frm and .idb files to the linked location.
27. How to take consistent backup in mysql?
Answer : take the backup at slave after stopping the slave.
28. How do you restrict the users in mysql?
Answer : by grant and revoke commands.
29. what is advantage of having file per table parameter enabled?
Answer : point # 26 can only be done in file per table is enabled at innodb level.
30. How do you setup replication?
Answer : I will post a separate BLOG for this.. Keep reading
Excellent coverage, Need Replication process also.
ReplyDeleteThankyou Sir ,its really helpful.Post some more about how to perform replication.Performance issues & their Resolutions,Database down issues & their resolutions.
ReplyDeleteThis comment has been removed by the author.
ReplyDeletethis is great, but we need your help for performance tuning
ReplyDeleteif you have any tips please share with us.
Hi Sir it's Hary can I get in touch with you. It's Harvinder Remember. Mob: 9711161830
ReplyDeleteThank you for the helpful info!
ReplyDeletegood one :)
ReplyDeleteThanks Sir ...Do keep on posting about How to setup Clustering ,Replication
ReplyDeleteAlso about performance tuning
Awsme collection and informative blog :-)
ReplyDeleteWe are waiting for this post
ReplyDelete30. How do you setup replication?
Answer : I will post a separate BLOG for this.. Keep reading
Very good article.Do look at my post Top MySQL Interview Questions
ReplyDelete