Primeiro, você precisa instalar o MySQL .Net Connector .
A fábrica do MySQL Provider tem o nome invariável "MySql.Data.MySqlClient". Abaixo está um exemplo de código C# que recupera todos os nomes de tabela no banco de dados de teste local e os coloca em uma caixa de listagem em resposta a um clique de botão.
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]);
}
}
}
}
}