MySQL gives me:“Can't open and lock privilege tables: Table 'host' is read only”
custom mysql datadir? removed apparmor and still having mysql process failing to start issues? try this. may help some of you depending on your config. worked for me:

when using a custom mysql (5.5) data dir as described above-
ie., if the abs. path to datadir (my.cnf) is 
/opt/some/other/mysql

even with apparmor removed/purged, you must make certain that permissions on ALL of the folders in the mysql datadir path are perm'd correctly.  this is a mysql convention- not related to apparmor.  

look at /var/lib/mysql- the default datadir (my.cnf) on most installations: perms are 755 for /var and /var/lib. 

in my custom datadir example above, when I set any/all of the dirs called 'opt' or 'some' or 'other' without an execute permission for allusers (ie., 750), mysql will not start.  once i add an execute perm to allusers (ie. 755, 771, etc.), BINGO. mysql starts.