To enable binary logs, you need to update MySQL config, ensure your MySQL user is capable of dealing with binary logs by adding needed privileges, then restart your MySQL server.
Step 1 - MySQL Config
Edit MySQL config file, usually located at /etc/my.cnf
or /etc/mysql/my.cnf
Ensure you set the following (under [mysqld]
section)
server_id = 1
log_bin = /var/log/mysql/mysql-bin.log
max_binlog_size = 100M
binlog_format = mixed
For MySQL 8+, also add this
binlog_expire_logs_seconds = 864000
For MySQL 5, add
expire_log_days = 10
Step 2 - Create a user with replication capabilities
Ensure you give your MySQL user (mybackupsuser
in this example) the REPLICATION SLAVE
privilege from the MySQL shell.
mysql> GRANT REPLICATION SLAVE ON *.* TO 'mybackupsuser'@'%';
Step 3 - Restart MySQL
sudo service mysql restart