Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

mysql write to log and flush every second

Posted on 2010-11-25
8
Medium Priority
?
726 Views
Last Modified: 2012-06-21
I have to set the log of mysql as write to log and flush every second.
Can you tell me which file do i need to change and what should be the input?

THanks
0
Comment
Question by:pvinodp
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 3
8 Comments
 
LVL 79

Expert Comment

by:arnold
ID: 34215652
What do you mean?  You can enable log-bin and it will be written to by mysql for every transaction.
0
 
LVL 26

Accepted Solution

by:
Umesh earned 2000 total points
ID: 34215673
Set the value of sync_binlog to 1 - Manual says - If the value of this variable is greater than 0, the MySQL server synchronizes its binary log to disk (using fdatasync()) after every sync_binlog writes to the binary log. There is one write to the binary log per statement if autocommit is enabled, and one write per transaction otherwise. The default value of sync_binlog is 0, which does no synchronizing to disk. A value of 1 is the safest choice because in the event of a crash you lose at most one statement or transaction from the binary log. However, it is also the slowest choice (unless the disk has a battery-backed cache, which makes synchronization very fast).

This is a dynamic variable so can be set using below sql statement on mysql prompt and for making it to permanent add it to to conf file..

SET GLOBAL sync_binlog=1;
0
 

Author Comment

by:pvinodp
ID: 34215749
So does this make sure that the effect of hitting the disk once a second instead of thrashing it continuously?
0
Back Up Your Microsoft Windows Server®

Back up all your Microsoft Windows Server – on-premises, in remote locations, in private and hybrid clouds. Your entire Windows Server will be backed up in one easy step with patented, block-level disk imaging. We achieve RTOs (recovery time objectives) as low as 15 seconds.

 
LVL 26

Expert Comment

by:Umesh
ID: 34215759
Yes.. it gurantees that.
But this safety comes with a high price, Synchronizing the bin log and trasaction log  requires MySQL to flush 2 files in two distinct locations.
0
 
LVL 26

Expert Comment

by:Umesh
ID: 34215764
I'll be away for couple of hours from now and expect a delay in reply.

Thanks,
Umesh
0
 

Author Comment

by:pvinodp
ID: 34216471
ok i shall remove the line
log = /tmp/mysql.log
 from my.cnf???

Then it will be only one log written. Will this stop the writing of log ot 2 places.???
0
 
LVL 26

Expert Comment

by:Umesh
ID: 34216715
log parameter enables "general query log" ..The "mysqld" records information to this log when clients connect or disconnect, and it logs each SQL statement received from clients. The general query log can be very useful when you suspect an error in a client and want to know exactly what the client sent to mysqld.

In my earlier comment; I was refering to the binary log and trasactional log(redo and undo)  -  to understand the trasactional log and its use I would suggest you to read this very nice article http://www.pythian.com/news/1337/   

0
 

Author Closing Comment

by:pvinodp
ID: 34229143
In addition to setting
sync_binlog=0; [makes sure theres is no sync mandated]
innodb_flush_log_at_trx_commit =0
set the above values in my.cnf
restart mysqld service after this
 [Command: service mysqld restart]


refer for easy understanding of the above parametres:
http://dev.mysql.com/doc/refman/5.0/en/innodb-tuning.html

http://www.mysqlperformanceblog.com/2007/11/01/innodb-performance-optimization-basics/
0

Featured Post

[Webinar] Lessons on Recovering from Petya

Skyport is working hard to help customers recover from recent attacks, like the Petya worm. This work has brought to light some important lessons. New malware attacks like this can take down your entire environment. Learn from others mistakes on how to prevent Petya like worms.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In this blog post, we’ll look at how using thread_statistics can cause high memory usage.
Backups and Disaster RecoveryIn this post, we’ll look at strategies for backups and disaster recovery.
This is a high-level webinar that covers the history of enterprise open source database use. It addresses both the advantages companies see in using open source database technologies, as well as the fears and reservations they might have. In this…
In this video, Percona Director of Solution Engineering Jon Tobin discusses the function and features of Percona Server for MongoDB. How Percona can help Percona can help you determine if Percona Server for MongoDB is the right solution for …

670 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question