I came across similar problem and tried this Stack Overflow answer by Fabrizio Valencia. It worked.
Stop there! Please do not delete anything! First try to do what I did.
OK, none of the listed answers here solved my problem, even, some of the answers were making me lost all my db data. So I did exactly what the error message in XAMPP message panel told me to do. So I did this:
Rename the folder mysql/data to mysql/data_old (you can use any name)
Create a new folder mysql/data
Copy the content that resides in mysql/backup to the new mysql/data folder
Copy all your database folders that are in mysql/data_old to mysql/data
Finally copy the ibdata1 file from mysql/data_old and replace it inside mysql/data folder
Start MySQL from XAMPP control panel
And, voilà. No databases lost, no ports changed, no run as administrator, no force recovery, no kill mysqld process, no restoring from previous versions, no more errors.