0

我是一名 Rails 开发人员,与一个绝对要求我修复他们旧的 codeigniter 站点,然后将其移植到 rails 的客户合作(不要问为什么,这是一个完全不同的问题)。无论如何,他们的 database.php 文件中似乎列出了两个数据库,一个指向我可以通过 godaddy 访问的 MySQL 数据库,没有问题。另一个具有所有功能(读取、写入、编辑等)的具有 localhost 主机名。在他们的 Godaddy 帐户中没有第二个数据库的表或数据库名称的记录,他们无法联系编写此应用程序或任何文档的开发人员。巧合的是,这是我需要修改的数据库,以及移植到新的 rails 应用程序。我只是在这里完全错过了一些明显的东西吗?

$active_group = "default";
$active_record = TRUE;
$db['default']['hostname'] = "hostedresource.com";
$db['default']['username'] = "uname";
$db['default']['password'] = "pword"; 
$db['default']['database'] = "database";
$db['default']['dbdriver'] = "mysqli";
$db['default']['dbprefix'] = "";
$db['default']['active_r'] = TRUE;
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = "";
$db['default']['char_set'] = "utf8";
$db['default']['dbcollat'] = "utf8_general_ci";

// Admin group (for adding and deleting articles)
$db['admin']['hostname'] = "localhost";
$db['admin']['username'] = "username";
$db['admin']['password'] = "password";
$db['admin']['database'] = "other_database";
$db['admin']['dbdriver'] = "mysql";
$db['admin']['dbprefix'] = "";
$db['admin']['active_r'] = TRUE;
$db['admin']['pconnect'] = TRUE;
$db['admin']['db_debug'] = TRUE;
$db['admin']['cache_on'] = FALSE;
$db['admin']['cachedir'] = "";
$db['default']['char_set'] = "utf8";
$db['default']['dbcollat'] = "utf8_general_ci";

并继承了任务文件之一中的 mysql_connect 调用

$conn = mysql_connect("localhost", "username", "password"); mysql_select_db("other_database");
4

1 回答 1

2

是godaddy 托管该网站吗?我猜不会,因为我知道 godaddy 将所有 web 和 mysql 托管分开。

我有一个类似的情况,我正在访问一个旧的 go-daddy sql db,但也使用一个新的(它是我从 hostgator 使用的 VM 的本地),基本上与你上面的代码相同(除了我使用新的 mysqli 扩展,就像你应该做的那样)

本例中的 localhost 意味着数据库位于运行 PHP 的同一台机器上。所以 localhost db 应该位于你的 web 服务器运行的机器上如果你有 SSH 访问你的服务器,你应该能够从 shell 运行 mysql 并获得你需要的信息。

你也可以试试 yoururl/phpmyadmin ...很多服务器都预装了它...

现在,我只希望你有凭据:-p

=======

现在你得到了

#2013 - Lost connection to MySQL server at 'reading initial communication packet', system error: 110

通常这意味着您的本地 IP(您的计算机)不在 PHPmyadmin 的访问控制列表中。

如果您的主机有一个控制面板,您应该能够将您的 IP 地址添加到 phpmyadmin 设置中的 Allowable Hosts 部分(大多数控制面板,如 cpanel 都有这个)。

试试 yoururl/cpanel 或 yoururl:2083 也许我们会很幸运

如果不是,您需要找到 phpmyadmin ini 文件,在我的服务器上它位于 /etc/httpd/conf.d/phpMyAdmin.conf 但这取决于您的设置。

在ini文件中

#obviously the path is dependent on your setup

<Directory "/usr/share/phpMyAdmin"> 
Options FollowSymLinks
AllowOverride None
Order allow,deny
#put your ip address here
Allow from 111.111.111.111
</Directory>
于 2013-07-11T22:11:45.877 回答