2013-04-24 27 views
1

我们的组织目前正在向Windows Azure中的Linux VM过渡,该服务为我们的客户提供各种网站服务。按照Azure文档中的建议,我们在ClearDB上建立了一个mysql数据库,我们希望这些数据库能够保存上述网站的数据。将我的Azure Linux VM连接到clearDB MySQL DB的步骤是什么?

问题是,我无法让我们的站点代码与clearDB进行通信。


编辑

从MySQL命令行打开虚拟机连接不工作,并且我们可以使用该网站使用相同的凭据浏览数据库,但是PHP仍然无法访问数据。


我们正在运行PHP /笨作为后台的网站,所有的工作在我的本地站点的副本罚款,但总是失败,当部署到Azure中的数据库连接。

我已经在azure虚拟机上安装了tcptraceroute,并且能够在端口3306上成功ping通clearDB机器,所以它对VM肯定是可见的,但出于某种原因,它对于站点来说是不可见的。

下面是我的codeigniter的数据库配置,它在我的本地机器上的apache下运行良好。

$active_group = "live"; 
$active_record = TRUE; 

$db['live']['hostname'] = "eu-cdbr-azure-north-a.cloudapp.net"; 
$db['live']['username'] = "<<USER>>"; 
$db['live']['password'] = "<<PASSWORD>>"; 


$db['live']['database'] = "<<DB NAME>>"; 
$db['live']['dbdriver'] = "mysql"; 
$db['live']['dbprefix'] = ""; 
$db['live']['pconnect'] = TRUE; 
$db['live']['db_debug'] = TRUE; 
$db['live']['cache_on'] = FALSE; 
$db['live']['cachedir'] = ""; 
$db['live']['char_set'] = "utf8"; 
$db['live']['dbcollat'] = "utf8_general_ci"; 
$db['live']['swap_pre'] = ''; 
$db['live']['autoinit'] = TRUE; 
$db['live']['stricton'] = FALSE; 

有谁知道,首先,如果它甚至有可能使用clearDB数据业务从Azure的VM(注意不是一个Azure的网站 - 这是我所知道的是可能的),其次,如何在地球上,你将它设置?

谢谢!

+0

似乎没有要任何明显会阻止其工作。尝试设置'$ db ['live'] ['port'] = 3306;'我已经看到过那些混乱的数据库连接。 – stormdrain 2013-04-24 18:05:07

+0

谢谢,但不幸的是它并没有帮助。我也无法将phpymyadmin从Azure虚拟机连接到clearDB,尽管我的本地PC上有相同的设置: – bharling 2013-04-25 08:02:56

回答

1

解决 - 我们的Apache配置是不正确的,设置:

/usr/sbin/setsebool httpd_can_network_connect 1 

解决问题