簡體   English   中英

將本地 mssql 數據庫移動到網絡托管 MYSQL

[英]Move local mssql database to webhosted MYSQL

我是一名桌面開發人員,對虛擬主機的工作方式不太了解......所以請在這里幫助我。

目前我的應用程序適用於本地安裝在同一台機器上的 MSSQL 數據庫。 現在我需要擴大 go 並讓多個應用程序在 Internet 上使用同一個數據庫。 我有一個帶有 CPanel 的虛擬主機和 MySQL 數據庫。

請告訴我如何從我的另一台計算機訪問該 MySQL 數據庫中的表? Select 並更新該表中的記錄。 我是否必須使用 PHP 來實現某些功能才能提出此類請求?

請指教..

如果您嘗試導入 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並創建你的數據庫'foo'

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”

您必須將計算機上的數據導出到原始 SQL 文件中,然后使用 PHPMyAdmin 控制面板將其導入。 假設您還在自己的機器上使用 PHPMyAdmin,頂部有一個“導出”選項卡。 如果單擊該選項,您將可以選擇將所有表導出到 .sql 文件。

然后您需要從那里通過 CPanel 訪問 PHPMyAdmin。 進入后,您可以點擊“導入”選項卡並上傳文件以將所有數據導入數據庫。 要在線與數據庫交互,您需要使用 PHP 中的內置函數 - PHP.net 上的MySQL 參考非常有用。 然后,您可以使用 PHPMyAdmin 控制面板從任何計算機訪問數據庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM