Is there a way to log each and every executing query and its corresponding result in MySQL? I have a requirement, where I want to log each and every executing query and it's corresponding results set to a log file in mysql. Is there any way I can achieve this?

Ex:-

Query: select * country_name from countries_tbl

Result: USA, China, Japan
For having all queries in a log file you need to activate general log file by adding this into the configuration file of mysql below section [mysqld] :

general_log
general_log_file=/path/to/the/general_log_file

Next if you want to have output of specific queries in a file you need to add the following instruction at the end of query : 
into outfile /tmp/output_query

for example : 
select version() into outfile /tmp/output_query

If you want to have output in a file from an entire MySQL client session write this in mysql client : 

tee /tmp/output

That command tells MySQL to log both the input and output of your current MySQL login session to a file named /tmp/my.out.

As far as now there is no other way to have queries + output in a same log file, but maybe someone with much knowledge can confirm this.