asp.net / MySQL: Acceso denegado para el usuario '' @ 'localhost' (usando la contraseña: NO)

Soy un novato en la web y espero que alguien con más experiencia pueda ayudar a resolver esto. Fui emboscado por una actualización de MySQL.

Fondo: Tengo dos PC XP (llamémoslos ambiciosamente "servidor web" y "servidor MySQL"). Recientemente construí y hospedé con éxito un sitio asp.net que extrajo datos de la base de datos de MySQL. Es solo un sitio diseñado para unos pocos usuarios locales para que no tengan que aprender SQL para obtener datos ... nada de lujo. Hasta ahora tan bueno.

Problema: Esta semana instalé MySQL en el "servidor web", y ahí fue cuando las cosas se volvieron locas. No había habido ninguna instancia de MySQL en el servidor web antes de ese punto. Desde la instalación he:

... reinstalado el proveedor de MySQL .NET... reconfiguró el archivo machine.config... copió el MySQL_Web.dll al directorio bin de MySQL... intentó que la configuración se alineara con las instrucciones en el sitio a continuación.

http://dev.mysql.com/doc/refman/5.0/en/connector-net-tutorials-asp-roles.html

Esto solucionó una serie de problemas, y puse el sitio parcialmente en funcionamiento nuevamente. Puedo acceder a la página de destino y las consultas para los usuarios invitados están devolviendo datos.

Mensaje de error # 1 Sin embargo, cuando el usuario intenta iniciar sesión para acceder a páginas privadas en el sitio, aparece el error"Acceso denegado para el usuario '' @ 'localhost' (usando la contraseña: NO)". Esto es claramente incorrecto ya que estoy usando una contraseña y porque no hay una cadena de conexión que apunte al servidor localhost / web. La única cadena de conexión apunta al servidor MySQL donde reside la base de datos.

Mensaje de error # 2 También estoy viendo la Herramienta de administración de sitios web de asp.net en la pestaña Seguridad y veo el siguiente error:

"Hay un problema con el almacén de datos seleccionado. Esto puede ser causado por un nombre de servidor o credenciales no válidos, o por un permiso insuficiente. También puede deberse a que la función del administrador de roles no esté habilitada. Haga clic en el botón de abajo para ser redirigido a una página donde puede elegir un nuevo almacén de datos. El siguiente mensaje puede ayudar a diagnosticar el problema: Se produjo una excepción. Por favor, consulte el registro de eventos."

El administrador de roles está definitivamente habilitado y los proveedores están configurados correctamente.

He intentado desinstalar MySQL en el servidor web, recreando las tablas de usuarios del sitio, vaciando los privilegios y algunos otros trucos, pero el sitio ahora parece estar omitiendo permanentemente la db en la cadena de conexión durante el proceso de inicio de sesión y la búsqueda en el servidor web en lugar.

¿Alguien tiene alguna idea de dónde puedo llevar esto a continuación? He estado perplejo por unos días, y no sé qué más puedo hacer.

Editar: Suministrando el código relevante como se solicita en los comentarios a continuación. Como se señaló, este es todo el código estándar generado como parte de un proyecto predeterminado, y no se ha editado de ninguna manera (excepto, por supuesto, web.config).

Web.config

<connectionStrings>
   <remove name="MySQLWebConnection"/>
   <add name="MySQLWebConnection" connectionString="server=myWebServer;User Id=myName;password=myPwd;database=myDB" providerName="MySql.Data.MySqlClient"/>
</connectionStrings>


<system.web>
   <membership defaultProvider="MySQLMembershipProvider" />
   <roleManager enabled="true" defaultProvider="MySQLRoleProvider" />
   <authentication mode="Forms">
    <forms name=".ASPXFORMSAUTH" loginUrl="~/Account/Login.aspx" defaultUrl="~/Default.aspx" />
   </authentication>
   ...
</system.web>

Login.aspx

   <asp:Login ID="LoginUser" runat="server" EnableViewState="false" RenderOuterTable="false">
        <LayoutTemplate>
            <span class="failureNotification">
                <asp:Literal ID="FailureText" runat="server"></asp:Literal>
            </span>
            <asp:ValidationSummary ID="LoginUserValidationSummary" runat="server" CssClass="failureNotification" 
                 ValidationGroup="LoginUserValidationGroup"/>
            <div class="accountInfo">
                <fieldset class="login">
                    <legend>Account Information</legend>
                    <p>
                        <asp:Label ID="UserNameLabel" runat="server" AssociatedControlID="UserName">Username:</asp:Label>
                        <asp:TextBox ID="UserName" runat="server" CssClass="textEntry"></asp:TextBox>
                        <asp:RequiredFieldValidator ID="UserNameRequired" runat="server" ControlToValidate="UserName" 
                             CssClass="failureNotification" ErrorMessage="User Name is required." ToolTip="User Name is required." 
                             ValidationGroup="LoginUserValidationGroup">*</asp:RequiredFieldValidator>
                    </p>
                    <p>
                        <asp:Label ID="PasswordLabel" runat="server" AssociatedControlID="Password">Password:</asp:Label>
                        <asp:TextBox ID="Password" runat="server" CssClass="passwordEntry" TextMode="Password"></asp:TextBox>
                        <asp:RequiredFieldValidator ID="PasswordRequired" runat="server" ControlToValidate="Password" 
                             CssClass="failureNotification" ErrorMessage="Password is required." ToolTip="Password is required." 
                             ValidationGroup="LoginUserValidationGroup">*</asp:RequiredFieldValidator>
                    </p>
                    <p>
                        <asp:CheckBox ID="RememberMe" runat="server" Visible="false" />
                        <asp:Label ID="RememberMeLabel" runat="server" Visible="false" AssociatedControlID="RememberMe" CssClass="inline">Keep me logged in</asp:Label>
                    </p>
                </fieldset>
                <p class="submitButton">
                    <asp:Button ID="LoginButton" runat="server" CommandName="Login" Text="Log In" ValidationGroup="LoginUserValidationGroup"/>
                </p>
            </div>
        </LayoutTemplate>
    </asp:Login>

Respuestas a la pregunta(1)

Su respuesta a la pregunta