[plug] are these mysql binary logs?

W.Kenworthy billk at iinet.net.au
Tue Jun 13 12:39:51 WST 2006


Thanks Simon, I'll look into that.  I suspect that the files are not log
files, but part of the database itself (the logs are actually
elsewhere).  So as well as the avenue you have turned up, I am going to
try and compact/repair the db and see if they roll back into the one
file.  From experimenting, a file gets created whenever a change is made
to the database (it appears to aggregate changes for a particular date).
Might try some of the options like optimise tables and see if that
helps.

As its a MythTV database, I suspect that its somewhat disorganised
internally after all the fiddling and repairs I have done to it.

BillK




On Tue, 2006-06-13 at 10:03 +0800, Simon Marko wrote:
> William Kenworthy wrote:
> > With mysql (4.0), I have a few hundred, sometimes huge files of the form
> > hostname-bin.6_digit_number in /var/lib/mysql.  I presume they are
> > binary log files?
> >
> > I dont care if they are deleted (DB recovery is not needed), but is
> > there a safe way to remove them if they arent log files?  If they are
> > its rm -rf time and turn logging off!
> >
> > BillK
> >
> >   
> Hi Bill - This is from the MySQL reference manual for version 5.1 but 
> should work in 4.X as well
> HTH ::SimonM::
> 
> 
>       13.6.1. SQL Statements for Controlling Master Servers
> 
> Replication can be controlled through the SQL interface. This section 
> discusses statements for managing master replication servers. Section 
> 13.6.2, “SQL Statements for Controlling Slave Servers” 
> <ch13s06.html#replication-slave-sql>, discusses statements for managing 
> slave servers.
> 
> 
>         13.6.1.1. |PURGE MASTER LOGS| Syntax
> 
> 
> PURGE {MASTER | BINARY} LOGS TO '/|log_name|/'
> PURGE {MASTER | BINARY} LOGS BEFORE '/|date|/'
> 
> Deletes all the binary logs listed in the log index prior to the 
> specified log or date. The logs also are removed from the list recorded 
> in the log index file, so that the given log becomes the first.
> 
> Example:
> 
> PURGE MASTER LOGS TO 'mysql-bin.010';
> PURGE MASTER LOGS BEFORE '2003-04-02 22:46:26';
> 
> The |BEFORE| variant's /|date|/ argument can be in |'YYYY-MM-DD 
> hh:mm:ss'| format. |MASTER| and |BINARY| are synonyms.
> 
> This statement is safe to run while slaves are replicating. You do not 
> need to stop them. If you have an active slave that currently is reading 
> one of the logs you are trying to delete, this statement does nothing 
> and fails with an error. However, if a slave is dormant and you happen 
> to purge one of the logs it has yet to read, the slave will be unable to 
> replicate after it comes up.
> 
> To safely purge logs, follow this procedure:
> 
>    1.
> 
>       On each slave server, use |SHOW SLAVE STATUS| to check which log
>       it is reading.
> 
>    2.
> 
>       Obtain a listing of the logs on the master server with |SHOW
>       MASTER LOGS|.
> 
>    3.
> 
>       Determine the earliest log among all the slaves. This is the
>       target log. If all the slaves are up to date, this is the last log
>       on the list.
> 
>    4.
> 
>       Make a backup of all the logs you are about to delete. (This step
>       is optional, but always advisable.)
> 
>    5.
> 
>       Purge all logs up to but not including the target log.
> 
> 



More information about the plug mailing list