2013-02-11 50 views
2

我的問題非常具體,我一直無法在Web上找到答案。我一直在本地構建一個CakePHP Web應用程序,並使用XAMPP通過phpMyAdmin在Apache服務器上本地託管它。現在我試圖將該網站遷移到Windows Azure,並且數據庫導入證明存在問題。將phpMyAdmin數據庫遷移到適用於CakePHP Web應用程序的Windows Azure

我在Azure中創建了一個新網站,並將我的網站根文件夾放在指定的目錄中。我發佈了該網站,並能夠以預期的「缺失數據庫」錯誤查看該網站。

然後,我將phpMyAdmin中的所有表導出爲.sql文件(某些託管在另一臺服務器上,因此我無法導出整個數據庫),現在出現問題。我GOOGLE瞭如何廣泛導入.sql文件,但只能找到如何從SQL Server導入。我讀到一篇文章,就在微軟網站:

http://blogs.iis.net/ruslany/archive/2012/12/17/phpmyadmin-on-windows-azure-web-sites.aspx

我遵循的步驟,但未能在最後階段登錄。但是,這種方法看起來有點過分,當然有一種簡單的方法可以將標準MySQL數據庫這樣的基本數據導入到Azure中?

回答

0

你可以通過命令行來完成。閱讀: http://www.windowsazure.com/en-us/develop/php/tutorials/website-w-mysql-and-git/

請注意標題爲「獲取遠程MySQL連接信息」的部分。一旦MySQL數據庫是在Azure上創建,從MySQL連接到它:

mysql -h{Data Source] -u[User Id] -p[Password] -D[Database] 

從這裏,你可以複製的CREATE TABLE語句並插入您創建的SQL語句的文件。或者,如果你可以導航到.sql文件,你可以這樣做:

mysql>\. data.sql 

這將執行sql文件中的所有命令。

+0

我敢肯定這是有效的,但由於我沒有那麼多表,而且我不熟悉SQL或Azure,所以我最終手動製作表。 – mcguinnsoft 2013-02-18 22:21:41

0

有一個更簡單的方法;在進行詳細介紹之前總結一下:您可以從本地phpmyadmin訪問遠程Azure MySQL數據庫,並使用導入,導出 - 您在phpmyadmin上使用的所有功能。

對我說的方法的基礎上,可以在這裏找到: http://ruslany.net/2012/12/phpmyadmin-on-windows-azure-web-sites/ 這種方法可以讓你在你的蔚藍的網站安裝phpMyAdmin這樣就可以像www.yoursitename.net/phpmyadmin

通過一些訪問

但是,比這更好的方法是直接從您現有的本地phpmyadmin訪問您的遠程(Azure)mysql數據庫 - 看到您使用的是xampp。要做到這一點,看看你的XAMPP/phpMyAdmin的文件夾的config.inc.php,並在文件末尾添加以下行:

$i++; 
$cfg['Servers'][$i]['host'] = "[look for data source in mysqldbconnectionstring - see in your azure dashboard publish settings]"; 
$cfg['Servers'][$i]['connect_type'] = 'tcp'; 
$cfg['Servers'][$i]['compress'] = 'false'; 
$cfg['Servers'][$i]['extension'] = 'mysqli'; 
$cfg['Servers'][$i]['AllowNoPassord'] = false; 
  • 所以只改變主機值 - 見指令[]以上。保存文件。

當您從本地主機打開phpmyadmin時,您會看到「服務器選擇」現在是一個下拉菜單 - 您知道該怎麼做!

+0

但是從本地到遠程執行,由於連接不是直接的,所以速度稍慢 – Miguel 2017-08-07 15:28:46

+0

與在遠程服務器上執行的任何操作相同。我們無法通過遠程服務器獲得與本地主機相同的速度。我發現這種方法很有用的原因是,您可以從用於本地測試開發的環境中執行遠程數據庫操作。 – 2017-08-09 00:37:48

相關問題