MySQL can still write the changes to the binlogs (completed SQL commands) without concern for the results making it to disk.
InnoDB is responsible for flushing two-phase commits of data changes from logs to final destination (.ibd
for innodb_file_per_table or ibdata1
otherwise). If InnoDB cannot flush data from its logs, there will be some housecleaning info stuck in the Redo Logs (ib_logfile0,ib_logfile1), the Undo Logs (1023 of them inside ibdata1) and the InnoDB Buffer Pool. Please see the InnoDB Infrastructure Map. Consequently, new transactions cannot never be written (or even started).
This is very possible if
Please run the following
Flush everything from all logs and shutdown mysql
mysql -uroot -p -Ae"SET GLOBAL innodb_fast_shutdown = 0;"
service mysql stop
Next, change the logs to have a larger size along with a larger log buffer
[mysqld]
innodb_log_file_size = 1G
innodb_log_buffer_size = 32M
Then, remove logs and start mysql
cd /var/lib/mysql
mv ib_logfile0 ib_logfile0.bak
mv ib_logfile1 ib_logfile1.bak
service mysql start
I discussed this before : Mysql Innodb: InnoDB: ERROR: the age of the last checkpoint is InnoDB: which exceeds the log group capacity
Give it a Try !!!