Let’s migrate a Phpmysql site from Godaddy to Azure App Service and Mysql
Go to Marketplace; let’s create a resource group
![](https://www.azure365pro.com/wp-content/uploads/2022/09/image-38.png)
![](https://www.azure365pro.com/wp-content/uploads/2022/09/image-28.png)
Web App + Database
![](https://www.azure365pro.com/wp-content/uploads/2022/09/image-29.png)
Lets use PHP run time stack
![](https://www.azure365pro.com/wp-content/uploads/2022/09/image-39.png)
It auto-creates MySQL with the wizard with proper private DNS zone
![](https://www.azure365pro.com/wp-content/uploads/2022/09/image-40.png)
Generated resources after creation
![](https://www.azure365pro.com/wp-content/uploads/2022/09/image-41-1024x213.png)
App service is online now
![](https://www.azure365pro.com/wp-content/uploads/2022/09/image-57.png)
Created Windows 10 VM and Installed SQL Workbench in the same vNet to connect to MySQL and App service FTP easily
![](https://www.azure365pro.com/wp-content/uploads/2022/09/image-36.png)
You can download SSL and connection information from here.
![](https://www.azure365pro.com/wp-content/uploads/2022/09/image-42-1024x680.png)
Connect using MySQL Workbench
![](https://www.azure365pro.com/wp-content/uploads/2022/09/image-43.png)
Enter the obtained password
![](https://www.azure365pro.com/wp-content/uploads/2022/09/image-44.png)
Import your old database using .SQL export and import
Choose Target schema
![](https://www.azure365pro.com/wp-content/uploads/2022/09/image-46-1024x610.png)
Now DB is imported.
![](https://www.azure365pro.com/wp-content/uploads/2022/09/image-47-1024x397.png)
Now you can see Tables have been created.
You can see appropriate tables populated
![](https://www.azure365pro.com/wp-content/uploads/2022/09/image-48.png)
Let’s load a test PHP file to test DB connectivity , You can see the FTP Credentials
![](https://www.azure365pro.com/wp-content/uploads/2022/09/image-49-1024x495.png)
Connect to App Service using FTP
![](https://www.azure365pro.com/wp-content/uploads/2022/09/image-50.png)
if you are using WinSCP
![](https://www.azure365pro.com/wp-content/uploads/2022/09/image-58.png)
Placed this file to test mySQL connectivity.
![](https://www.azure365pro.com/wp-content/uploads/2022/09/image-51-1024x541.png)
<?php $servername = "azure365pro-com-server.mysql.database.azure.com"; $username = "izmayfiuav"; $password = "8EHW56653KRSH5MZ$"; $database_name = "azure365pro-com-database"; // Create connection $conn = new mysqli($servername, $username, $password, $database_name); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } echo "Connected successfully"; ?>
Connection failed: Connections using insecure transport are prohibited while –require_secure_transport=ON.
![](https://www.azure365pro.com/wp-content/uploads/2022/09/image-52.png)
if you turn off secure transport
![](https://www.azure365pro.com/wp-content/uploads/2022/09/image-53.png)
if you turn off secure transport
![](https://www.azure365pro.com/wp-content/uploads/2022/09/image-54.png)
or use SSL from the PHP side (Recommended)
![](https://www.azure365pro.com/wp-content/uploads/2022/09/image-55-1024x577.png)
&lt;?php $servername = "azure365pro-com-server.mysql.database.azure.com"; $username = "izmayfiuav"; $password = "8EHW56653KRSH5MZ$"; $database_name = "azure365pro-com-database"; $options = array( PDO::MYSQL_ATTR_SSL_CA =&gt; '/DigiCertGlobalRootCA.crt.pem' ); // Create connection $conn = new mysqli($servername, $username, $password, $database_name, $options); // Check connection if ($conn-&gt;connect_error) { die("Connection failed: " . $conn-&gt;connect_error); } echo "Connected successfully"; ?&gt;
![](https://www.azure365pro.com/wp-content/uploads/2022/09/image-56.png)