移动本地mssql数据库到web托管MYSQL
本文关键字:web 托管 MYSQL 数据库 mssql 移动 | 更新日期: 2023-09-27 18:01:22
我是一名桌面开发人员,不太了解网站托管是如何工作的…所以请帮帮我。
目前,我的应用程序与MSSQL数据库一起工作,该数据库安装在同一台机器上。现在我需要走得更宽,让多个应用程序工作与同一数据库在互联网上。我有一个网站托管与CPanel在它和MySQL数据库。
请告诉我如何从我的另一台计算机访问MySQL数据库中的表?选择并更新该表中的记录。我是否必须使用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。不要使用根帐户访问子数据库,而是分配只具有所需权限的新用户。还要考虑使用不可预测的用户名。这并没有真正回答你的问题(抱歉),但是当你在查看用户表时,它是值得提及的。所以最后回答你的问题: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,顶部有一个"Export"选项卡。如果你点击它,你将有一个选项,导出所有的表到一个。sql文件。
然后你需要通过CPanel访问PHPMyAdmin。一旦进入,你就可以点击"导入"选项卡并上传文件以将所有数据导入数据库。要在线与数据库交互,你需要使用PHP中的内置函数——PHP.net上的MySQL参考非常有用。然后,您就可以使用PHPMyAdmin控制面板从任何计算机访问数据库。