Changing MySQL Binary Log Files Location to Another Directory
Join the DZone community and get the full member experience.Join For Free
What is the Default?
Usually in most installations, binary log files are located in the MySQL default directory (/var/lib/mysql) just next to the data files.
Why Should I Move the Binary Logs to Another Directory?
Each data modification (INSERT, UPDATE, DELETE...) and data definition (ALTER, ADD, DROP...) statement that you perform in your server are recorded in the Log files.
Therefore, each time you make any of these statements, you actually update both your data files and your log files. The result is high IO utilization that is focused on a specific disk area.
A common recommendation in the database field is to separate these files to two different disks in order to get a better performance.
How to Perform it?
- Change the log-bin variable in the my.cnf to log-bin=/path/to/new/directory/mysql-bin
- Purge as many files as you can (PURGE BINLOG...) in order to minimize the number of moved files (see stop 4).
- Stop the master (service mysql stop).
- Move the files to the new directory: mv /var/lib/mysql/mysql-bin.* /path/to/new/directory
- Start the master again (service mysql start).
Few steps and your server is ready for more traffic and data.
Published at DZone with permission of Moshe Kaplan, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.