2011-07-07 77 views
1

我是一個dektop開發人員,對webhosting的工作方式瞭解不多。所以請在這裏幫助我。將本地mssql數據庫移到虛擬主機MYSQL

目前我的應用程序與本地安裝在同一臺機器上的MSSQL數據庫一起使用。 現在我需要擴大範圍,讓多個應用程序在Internet上使用同一個數據庫。 我有一個在其中的CPanel和MySQL數據庫的網頁託管。

請告訴我如何從我的另一臺計算機訪問該MySQL數據庫中的表? 選擇並更新該表中的記錄。我是否必須使用PHP來實現一些功能來發出這樣的請求?

請指教..

回答

0

你將不得不將數據導出您的計算機上到原始SQL文件,然後使用你可以導入一個phpMyAdmin的控制面板。假設你也在自己的機器上使用PHPMyAdmin,在頂部有一個「導出」選項卡。如果你點擊它,你可以選擇將所有表格導出到.sql文件。

從那裏你需要通過CPanel訪問PHPMyAdmin。一旦進入,您可以點擊「導入」標籤並上傳您的文件以將所有數據導入數據庫。要在線交互數據庫,您需要使用PHP中的內置函數 - PHP.net上的MySQL Reference非常有用。您可以使用PHPMyAdmin控制面板從任何計算機訪問數據庫。

1

如果您嘗試導入到mySQL中,導出原始MS-SQL轉儲可能不起作用,因爲在語法上存在一些差異。有商業程序可以幫助你遷移數據,否則編寫一個PHP程序從MSSQL導出到mySQL可能會更好。

但你的問題聽起來更像是你問如何遠程訪問數據庫。 。 PHP可以在本地執行此操作。當您創建指向數據庫的鏈接時,您需要指定主機。例如:$ databaseConnection = new mysqli('username','password','host_ip_address');

如果你來自MSSQL,你可能會遇到一些陷阱。

要允許MS-SQL上的遠程連接,請使用「表面區域」配置工具。你可能會發現你的mySQL數據庫服務器已經被配置爲允許遠程連接,如果沒有,你將不得不把它與你的主機(聽起來像你沒有自己的盒子)。

下一個技巧是記住mySQL中的用戶名如下所示:'user'@'host'。

cPanel託管通常會安裝PHPmyAdmin。打開它並查看mysql數據庫(在MySQL服務器上運行的名爲mysql的實際數據庫)中的用戶表。

您將看到一個主機列。所以如果你的'root'用戶只被設置爲'localhost',你將不能以另一臺機器的用戶身份登錄。通配符符號是%。你可以在這裏看到這個 - http://dev.mysql.com/doc/refman/5.5/en/adding-users.html

當然,相同的規則適用於mySQL當涉及到用戶。請勿使用您的root帳戶訪問子數據庫,而是分配僅具有所需權限的新用戶。還要考慮使用不可預測的用戶名。這並沒有真正回答你的問題(對不起),但值得一提的是你正在查看用戶表。

所以到最後回答你的問題: 1)登錄到cPanel和創建數據庫 '富'

2)運行SQL命令:

GRANT ALL PRIVILEGES ON foo.* TO 'secretuser'@'%' IDENTIFIED BY 'longpassword' 

那麼PHP代碼將是這個樣子:

$host = 'ipaddress or hostname'; 
$mysqli = new mysqli('secretuser','longpassword',$host,'foo'); 
// look in php.net for error handling 
$query = "SELECT * FROM tablename LIMIT 0,10"; 
$result = $mysqli->query($query); 

我把有限制的原因有,因爲你可能使用「SELECT TOP 10」

相關問題