Con esto creo que tienes un error de concepto:
Cita: Try
insertar.Fill(Tabla)
MessageBox.Show("Conexión Abierta Con Éxito")
conexion.Close()
Catch mierror As MySqlException
MessageBox.Show("Error de Conexión a la Base de Datos: " & mierror.Message)
Finally
conexion.Dispose()
End Try
Una sentencia INSERT no llena una tabla de valores. Como mucho devuelve un único valor, que representa la cantidad de filas afectadas por su ejecución, por lo que usar un DataAdapter es absolutamente innecesario.
Por otro lado hay dos errores severos, también conceptuales.
1) El usuario
root no es un usuario para usar en tareas menores. Es el usuario supremo o de nivel más profundo, y por tanto solamente debe ser usado para tareas administrativas críticas.
2) Si vas a administrar usuarios en una aplicación te conviene que se puedan certificar contra el DBMS directamente, esto es, que la conexión sea creada
con esos usuarios, y no con otros, y
con su propio password. Esto es por dos razones: Por un lado la encriptación de las claves a nivel DBMS son mejores que lo que tu puedas diseñar. En segundo lugar, evitas usar usuarios genéricos que puedan ser hackeados y usados sus privilegios en otras conexiones.
Para esto, lo úinco que necesitas es tener un usuario de tipo superior (no el root) que tenga permisos de crear usuarios, y que sea el encargado de dar acceso a los restantes usuarios.
Al menos eso sería manejar la administración de usuarios con más seguridad.