Changing MySQL Binary Log Files Location to Another Directory
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.
(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)