The binary log records all changes to the database, such as INSERT, UPDATE, and DELETE statements. It helps with replication and data recovery.
Click to reveal answer
beginner
How do you enable binary logging in MySQL?
You enable binary logging by adding log_bin=ON to the MySQL configuration file (my.cnf) and restarting the server.
Click to reveal answer
beginner
What command lists all binary log files on the MySQL server?
Use SHOW BINARY LOGS; to see all binary log files and their sizes.
Click to reveal answer
intermediate
How can you safely purge old binary logs?
Use PURGE BINARY LOGS TO 'log_name'; or PURGE BINARY LOGS BEFORE 'date'; to delete old logs and free space.
Click to reveal answer
beginner
Why is managing binary logs important in MySQL?
Because binary logs can grow large and consume disk space, managing them prevents storage issues and ensures replication works smoothly.
Click to reveal answer
Which MySQL configuration option enables binary logging?
Aenable_binary
Blog_bin
Cbin_log_enable
Dbinary_log_mode
✗ Incorrect
The correct option to enable binary logging is log_bin.
What does the command SHOW BINARY LOGS; do?
ADisables binary logging
BDeletes all binary logs
CDisplays the current binary log file only
DShows all binary log files and their sizes
✗ Incorrect
It lists all binary log files on the server along with their sizes.
Which command is used to remove binary logs before a specific date?
APURGE BINARY LOGS BEFORE 'date';
BDELETE BINARY LOGS BEFORE 'date';
CREMOVE BINARY LOGS TO 'date';
DDROP BINARY LOGS BEFORE 'date';
✗ Incorrect
The correct syntax to purge old logs before a date is PURGE BINARY LOGS BEFORE 'date';.
Why should you manage binary logs regularly?
ATo disable replication
BTo speed up query execution
CTo prevent disk space from filling up
DTo backup the database
✗ Incorrect
Binary logs can grow large and fill disk space, so managing them prevents storage problems.
Which of these is NOT a use of the binary log?
AQuery optimization
BPoint-in-time recovery
CData replication
DAuditing data changes
✗ Incorrect
Binary logs are not used for query optimization; they record data changes for replication and recovery.
Explain what the MySQL binary log is and why it is important.
Think about how MySQL keeps track of changes and why that matters.
You got /5 concepts.
Describe how to safely remove old binary logs in MySQL.
Consider commands that delete logs and why timing matters.
You got /4 concepts.
Practice
(1/5)
1. What is the primary purpose of the MySQL binary log?
easy
A. To store user login credentials securely
B. To record all changes to the database for recovery and replication
C. To manage database schema versions
D. To optimize query execution plans
Solution
Step 1: Understand what binary logs do
Binary logs keep a record of all changes made to the database, such as inserts, updates, and deletes.
Step 2: Identify the main uses of binary logs
These logs are used for data recovery after crashes and for replicating changes to other servers.
Final Answer:
To record all changes to the database for recovery and replication -> Option B
Quick Check:
Binary logs = record changes for recovery and replication [OK]
Hint: Binary logs track changes for recovery and replication [OK]
Common Mistakes:
Confusing binary logs with user authentication logs
Thinking binary logs store query execution plans
Assuming binary logs manage schema versions
2. Which of the following commands correctly shows the list of binary log files in MySQL?
easy
A. SHOW BINARY LOG FILES;
B. SHOW BINLOG FILES;
C. SHOW LOGS BINARY;
D. SHOW BINARY LOGS;
Solution
Step 1: Recall the correct syntax to list binary logs
The correct command to list binary log files is SHOW BINARY LOGS;.
Step 2: Verify other options for syntax correctness
Options B, C, and D are not valid MySQL commands and will cause syntax errors.
Final Answer:
SHOW BINARY LOGS; -> Option D
Quick Check:
List binary logs = SHOW BINARY LOGS; [OK]
Hint: Use SHOW BINARY LOGS; to list binary log files [OK]
Common Mistakes:
Using incorrect command syntax like SHOW BINLOG FILES;
Mixing up command word order
Adding extra words causing syntax errors
3. Given the following MySQL commands executed in order: SHOW BINARY LOGS; Output: File: mysql-bin.000001 File: mysql-bin.000002 File: mysql-bin.000003
Then running: PURGE BINARY LOGS TO 'mysql-bin.000003'; What binary log files remain after the purge?
medium
A. mysql-bin.000001, mysql-bin.000002
B. Only mysql-bin.000003
C. mysql-bin.000003 and later
D. All binary logs are deleted
Solution
Step 1: Understand PURGE BINARY LOGS TO command
This command deletes all binary logs before the specified file, but not the file itself.
Step 2: Apply to given files
Logs mysql-bin.000001 and mysql-bin.000002 are deleted; mysql-bin.000003 and any later files remain.
Final Answer:
mysql-bin.000003 and later -> Option C
Quick Check:
PURGE BINARY LOGS TO 'file' keeps that file and after [OK]
Hint: PURGE BINARY LOGS TO keeps the named file and after [OK]
Common Mistakes:
Assuming the named file is deleted too
Thinking all logs are deleted
Confusing PURGE BINARY LOGS TO with PURGE BINARY LOGS BEFORE
4. You run the command PURGE BINARY LOGS BEFORE 'mysql-bin.000005'; but get an error: "ERROR 1236 (HY000): Could not purge binary logs". What is the most likely cause?
medium
A. The specified log file does not exist or is not in the binary log index
B. You need to restart the MySQL server before purging
C. The binary log feature is disabled in MySQL
D. You must use PURGE BINARY LOGS TO instead of BEFORE
Solution
Step 1: Understand error cause for PURGE BINARY LOGS BEFORE
This error usually happens if the specified log file is missing or not recognized in the binary log index.
Step 2: Check other options
Restarting server is not required; binary log must be enabled to run command; PURGE BINARY LOGS BEFORE is valid syntax.
Final Answer:
The specified log file does not exist or is not in the binary log index -> Option A
Quick Check:
Missing log file = purge error [OK]
Hint: Check log file exists before purging [OK]
Common Mistakes:
Restarting server unnecessarily
Confusing PURGE BINARY LOGS BEFORE with TO
Ignoring binary log enablement status
5. You want to free disk space by deleting old binary logs but keep all logs generated after a specific date '2024-01-01 00:00:00'. Which approach correctly achieves this?
hard
A. Find the binary log file generated just after the date, then run PURGE BINARY LOGS TO 'that_file';
B. Run PURGE BINARY LOGS BEFORE 'mysql-bin.000001'; to delete all logs before the first file
C. Disable binary logging temporarily, delete all files manually, then re-enable logging
D. Use SHOW BINARY LOGS; and delete files older than the date manually from disk
Solution
Step 1: Identify the binary log file after the target date
Use the binary log index or SHOW BINARY LOGS; to find the first file generated after '2024-01-01 00:00:00'.
Step 2: Use PURGE BINARY LOGS TO command
Run PURGE BINARY LOGS TO 'that_file'; to safely delete all logs before that file, keeping newer logs.
Step 3: Avoid unsafe manual deletion
Manual deletion or disabling logging risks data loss or replication errors.
Final Answer:
Find the binary log file generated just after the date, then run PURGE BINARY LOGS TO 'that_file'; -> Option A
Quick Check:
Use PURGE BINARY LOGS TO after date file [OK]
Hint: Purge logs safely by targeting file after date [OK]
Common Mistakes:
Deleting files manually risking corruption
Disabling binary logging to delete files
Purging logs before the first file (no effect)
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.