1, 2, 4, 5: MySQL can have logging enabled with various startup options - the general query log (the --log option) does most of the things you're looking for. You can also specify a slow query log (option: --log-slow-queries).
3: MySQL does not yet support stored procedures. Or triggers, for that matter.