I've been putting off upgrading one of my servers to Ubuntu 16.04 but the nagging warnings everytime I SSH in got to me. In the past I've upgraded over SSH and just ignored the health warnings about the risks of upgrading over the network. This time though I used the IPMI console. Everything went pretty well and it booted fine. This is always a heart-stopping moment because it's a remote server hosted in a datacentre with a relatively complicated disk setup with software-RAID. A number of times I've had to learn more than I ever wanted to about GRUB or MDADM to recover it.
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.
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.