c# - 将本地 mssql 数据库移动到 web 托管的 MYSQL

标签 c# php mysql desktop-application cpanel

我是一名桌面开发人员,不太了解虚拟主机的工作原理...所以请在这里帮助我。

目前,我的应用程序与本地安装在同一台机器上的 MSSQL 数据库一起使用。 现在我需要更广泛地让多个应用程序通过 Internet 使用同一个数据库。 我有一个带有 CPanel 和 MySQL 数据库的虚拟主机。

请告诉我如何从我的另一台计算机访问该 MySQL 数据库中的表? 选择并更新该表中的记录。我是否必须使用 PHP 实现某些功能才能发出此类请求?

请指教..

最佳答案

如果您尝试导入到 mySQL 中,则导出原始 MS-SQL 转储可能不起作用,因为语法存在一些差异。有一些商业程序可以帮助您迁移数据,否则最好编写一个 PHP 程序以从 MSSQL 导出到 mySQL。

但是您的问题听起来更像是在问如何远程访问 数据库。 . PHP 可以 native 执行此操作。当您创建指向数据库的链接时,您指定了主机。例如:$databaseConnection = new mysqli('用户名','密码','host_ip_address');

如果您来自 MSSQL,您可能会遇到一些陷阱。

要允许在 MS-SQL 上进行远程连接,您可以使用“表面区域”配置工具。您可能会发现您的 mySQL 数据库服务器已经配置为允许远程连接,否则您将不得不与您的主机一起使用(听起来您没有自己的盒子)。

下一个技巧是记住 mySQL 中的用户名如下所示:'user'@'host'。

cPanel 主机通常安装了 PHPmyAdmin。打开它并查看mysql数据库中的user表(MySQL服务器上运行的名为mysql的实际数据库)。

您会看到主机列。因此,如果您的“root”用户仅设置为“localhost”,您将无法从另一台机器以该用户身份登录。通配符是 %。您可以在这里阅读 - http://dev.mysql.com/doc/refman/5.5/en/adding-users.html

当然,当涉及到用户时,同样的规则也适用于 mySQL。不要使用您的根帐户访问子数据库,而是分配仅具有所需权限的新用户。还可以考虑使用不可预测的用户名。这并不能真正回答您的问题(抱歉),但在您查看用户表时值得一提。

所以最后回答你的问题: 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);

我设置限制的原因是因为您可能习惯于“选择前 10 名”

关于c# - 将本地 mssql 数据库移动到 web 托管的 MYSQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6610580/

相关文章:

c# - 使用 foreach 循环遍历两个列表

c# - MVC : Run a method on Application startup without calling it from Application_Start

php - MCRYPT 模式正在生成斜杠

php - .htaccess css 和图像文件重定向

php - 需要有关连接三个查询以进行订购的帮助

c# - 防止任何子类覆盖/隐藏方法 c#;为父类(super class)保留方法签名

c# - 模拟接口(interface)的特定类实例

php - soundex 可以用于 mysql 中列的一部分吗?

MySQL 将自定义格式的日期与现在进行比较

php - 如何连接到具有特定条件的表