Primero, debe instalar el MySQL .Net Connector .
La fábrica de MySQL Provider tiene el nombre invariable "MySql.Data.MySqlClient". A continuación se muestra un ejemplo de código C# que recupera todos los nombres de las tablas en la base de datos de prueba local y los coloca en un cuadro de lista en respuesta a un clic en un botón.
private void button1_Click(object sender, EventArgs e)
{
var dbf = DbProviderFactories.GetFactory("MySql.Data.MySqlClient");
using (var dbcn = dbf.CreateConnection())
{
dbcn.ConnectionString = "Server=localhost;Database=test;Uid=test;Pwd=test;";
dbcn.Open();
using (var dbcmd = dbcn.CreateCommand())
{
dbcmd.CommandType = CommandType.Text;
dbcmd.CommandText = "SHOW TABLES;";
using (var dbrdr = dbcmd.ExecuteReader())
{
while (dbrdr.Read())
{
listBox1.Items.Add(dbrdr[0]);
}
}
}
}
}