A solution for MySQL assertion Failure Fil_null
http://michaelfranzl.com/2014/01/25/solution-mysql-assertion-failure-fil_null/
A Defective RAM module recently caused data corruption in MySQL tables. MySQL would log the following to/var/Log/syslog in regular intervals, about every few mi Nutes:
123 |
140125 5:04:41 innodb:assertion Failure in thread 140046518261504 on file fut0lst.ic line 83innodb:failing Assertion:ad Dr.page = = Fil_null | | Addr.boffset >= Fil_page_datainnodb:we intentionally generate a memory trap. |
Reading MySQL documentation and various blogs didn ' t help much. I ran CHECK TABLES on all the TABLES and they all reported OK. Then I ran
1 |
Mysqlcheck--all-databases |
And still all tables reported OK. Nevertheless the assertion failures continued. Then I stumbled across the excellent blog post, which suggested to dump evertying into a. sql file, wipe/var/lib/ MySQL (not without making a backup, mind you!), and re-import everything from scratch. This is the what I did and it worked.
I recorded the passwords for each database and collected it to a SQL script like this:
123 |
GRANT all privileges the database_name1 to ' username1 ' @ ' localhost ' identified by ' password1 '; GRANT all privileges the database_name2 to ' username2 ' @ ' localhost ' identified by ' password2 '; etc. |
When you dump all databases into a. sql file, it won't dump the permissions, so you'll need to restore them later wit H this script. Next, the dumping part, then removal and reinstallation of MySQL (Danger here:when you remove Mysql-server, all packges W Hich depend on it also'll be removed!):
123456 |
CD ~mysqldump-u root-ppass--all-databases > ALLDBS.SQLCD/VAR/LIBCP-VPR mysql mysql-backupapt-get remove--purge my Sql-server-5.5apt-get Install Mysql-server |
Here, I had to reset the MySQL admin password because it didn ' t work any more, so I ran:
1 |
Dpkg-reconfigure mysql-server-5.5 |
Then, I re-imported all databases from the dump file:
12 |
CD ~mysql-u Root-ppass < Alldbs.sql |
Then I run the SQL permission script that I mention above.
For me, this resulted on no more assertion failures. yay!
A solution for MySQL assertion Failure Fil_null