Hello all,

 

I have been working with a few Service Providers with Windows Azure Pack implementations. In one case, we had to deploy the Windows Azure Pack MySQL resource provider.

So, in addition to the guidance provided in the TechNet Library Using SQL Server or MySQL with Windows Azure Pack, the following configuration is required in each MySQL host that will be added to the Windows Azure Pack Resource Provider. On each provisioned MySQL server, open the MySQL Command Line Client and logon with your root password, then execute the following commands. Be sure to set your root password accordingly below.

 

001
002
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
FLUSH PRIVILEGES;

 

More granular access can be defined by replacing % with the source IP address of the WAP server where the MySQL resource provider is installed. Review the MySQL documentation to review all options available to the GRANT statement.

Next, allow access to MySQL through the Windows Firewall via PowerShell.

 

001
New-NetFirewallRule -Name "MySQL" -Profile Any -Direction Inbound -LocalPort 3306 -Action Allow -DisplayName  "MySQL" -Protocol TCP

 

Optionally, you can modify the default location for the MySQL database files. To do so, first stop the MySQL Service, then move the contents of C:/ProgramData/MySQL/MySQL Server 5.1/Data/ to the destination folder and edit the datadir value in the [mysqld] section of the my.ini file in C:\Program Files\MySQL\MySQL Server 5.1\ to reflect the destination folder. Finally, start the MySQL Service.

One last note, the name used to register your MySQL server in the resource provider is the same name that will be exposed to tenants in the database connection string and needs to be resolvable by the tenant DNS.

Also, if you download and install MySQL manually, the installer will allow you to set the database location and configure the firewall port, eliminating some of the configuration steps mentioned above.

Hope this helps,

Ricardo