I recently ran into a very strange issue upgrading an Umbraco 6 website. The server in question ran several websites, one of them being a WordPress blog and another one of them being an Umbraco site. In order to get WordPress to work in IIS, the MySql provider needs to be installed on the server.
After making some changes to the build to get Umbraco working with transforms, when any of the content editors tried doing a ‘Save and Publish’ within Umbraco they received a MySqlSiteMapProvide exceptions, as shown below:
Parser Error Message: Authentication to host '' for user '' using method 'mysql_native_password' failed with message: Access denied for user ''@'localhost' (using password: NO) Source Error: Line 273: <siteMap> Line 274: <providers> Line 275: <add name="MySqlSiteMapProvider" type="MySql.Web.SiteMap.MySqlSiteMapProvider, MySql.Web, Version=188.8.131.52, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionStringName="LocalMySqlServer" applicationName="/"/> Line 276: </providers> Line 277: </siteMap> Source File: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config
The Umbraco website didn’t use the Umbraco WordPress connector but just having it installed on the server broke the site. Nothing on the server had supposedly been updated or changed since the site was known to be working, so the issue is still a mystery.
A quick fix to the issue is to tell Umbraco not to ignore the connector completely. This can be done by adding in a section under in your web.config.
<system.web> <siteMap> <providers> <remove name="MySqlSiteMapProvider"/> </providers> </siteMap> </system.web>