コマンドを実行する前に、接続を開く必要があります
using(MySqlConnection Connection = new MySqlConnection("SERVER=localhost;UID=root;"))
using(MySqlCommand Command = new MySqlCommand("CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'superpassword';", Connection))
{
Connection.Open();
Command.ExecuteNonQuery();
}
使い捨てコマンドを使用ステートメントで囲むことを忘れないでください
編集 コードを見ると(すぐにここに入れてみませんか?)、エラーがどこにあるかは明らかです
この行
this.COMMAND = String.Format("CREATE USER '{0}'@'{1}' IDENTIFIED BY '{3}';", username, host, password);
である必要があります
this.COMMAND = String.Format("CREATE USER '{0}'@'{1}' IDENTIFIED BY '{2}';", username, host, password);
文字列形式に渡されるパラメータは3つあるため、string.formatのプレースホルダーに使用されるインデックスは0、1、2です。
パスワードに3を使用したため、範囲外の例外が発生します