2013-02-11 83 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

相关问题