text: While.
  MySql.Data.MySqlClient.MySqlException : Unable to connect to any of the specified MySQL hosts
  Reading the exception, wouldn't you assume that there were problems with your MySQL configuration or the connection string? Well, for the first hour, that's exactly what I was examining trying to find what I had done incorrectly. Another unfortunate problem is that the Mono documentation which gives snippets of code showing a proper connection strings was obviously written before this flaw was introduced to the code or was never actually tested under a Mono compiler.
  So after the first hour or so, I began googling the problem, convinced I had done my part correctly. It wasn't too long before I stumbled upon the correct search string combination that lead me to this bug report on the MySQL website. In case that doesn't make sense, a look at the code makes it quite clear what's wrong.
  None of the variables (not even value types) are declared with any default values. I dunno about your programming habits, but this is a no-no in my book. The code then goes on to use attributes to decorate properties for use with a designer tool:
  #if !PocketPC && !MONO
  [Category("Connection")]
  [DisplayName("Connect Timeout")]
  [Description("The length of time (in seconds) to wait for a connection " +
  "to the server before terminating the attempt and generating an error.")]
  [DefaultValue(15)]
  #endif public uint ConnectionTimeout{...}
  Hmmmmm. Now THAT'S interesting. The default value for Connection Timeout is only given a default value if you run the code under .Net, although every example I've found on the web just defines Server, Database, User ID, Password and Pooling values in the connection string. So class, what happens to a connection attempt where the timeout is zero or null?
  It doesn't stop with that variable however, you need to provide your MySQL connection strings with the following values: Server, Database, User ID, Password, Connection Timeout, Pooling, Protocol, and Port.
  For a complete list of valid arguments and their intended default values, see Section 23.2.3.3.15 Connection String in the MySQL documentation.
  Here's the connection string I used to get mine working:
  "Server=localhost;Database=test;User ID=test;Password=test;Pooling=false;Connection Timeout=10;Protocol=socket;Port=3306;"
  I hope that's helpful to someone out there and saves them a little trouble? If you want to fix the issues yourself, you can actually mod the source in the driver to provide default values to the variable declarations, either way you go, you should have Mono and MySQL connecting successfully.