This time it looked like it was fine. However, things are never that straight forwards. During the upgrade there was a failure to upgrade MySQL. A bit of googling and hunting around in log files revealed the answer and I'll share it here to hopefully save people some time in future. Basically if you see an error stating that you have an unknown variable called "table_cache" it is because at some point in a previous version it was renamed but they have only just declared it an error. The fix is relatively simple, just edit your my.cnf and rename it from "table_cache" to "table_open_cache". You can then reconfigure the package and it should work (dpkg --configure mysql-server-5.7). Once you do this is triggers the proper upgrade which might take a while as it will potentially need to upgrade each table.