通过CodeIgniter连接到远程数据库

Mik*_*key 7 mysql codeigniter remote-access

无法使用提供的设置连接到数据库服务器.

我一直无法将应用程序连接到远程数据库.我在运行应用程序时收到上面显示的错误.我在这个网站上看过这个问题的先前答案,但我没有运气解决它.从我学到的东西,我需要替换主机名,让我的mysql数据库接受外部连接,我已经完成了.我通过mysql命令行在我的database.php中尝试了相同的值,它可以工作.

那还有什么我可能会失踪?

这是我在database.php中的设置:

$active_group = 'staging';
$active_record = TRUE;

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = '';
$db['default']['database'] = 'myDatabase';
$db['default']['dbdriver'] = 'mysql';
$db['default']['dbprefix'] = '';
$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';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;

$db['staging']['hostname'] = 'XX.XX.XXX.XXX';
$db['staging']['username'] = 'user';
$db['staging']['password'] = 'pwd';
$db['staging']['database'] = 'myDatabase';
$db['staging']['dbdriver'] = 'mysql';
$db['staging']['dbprefix'] = '';
$db['staging']['pconnect'] = TRUE;
$db['staging']['db_debug'] = TRUE;
$db['staging']['cache_on'] = FALSE;
$db['staging']['cachedir'] = '';
$db['staging']['char_set'] = 'utf8';
$db['staging']['dbcollat'] = 'utf8_general_ci';
$db['staging']['swap_pre'] = '';
$db['staging']['autoinit'] = TRUE;
$db['staging']['stricton'] = FALSE;
Run Code Online (Sandbox Code Playgroud)

小智 4

在 shell 中尝试以下命令,看看是否可以连接:

mysql -h HOSTNAME -uUSERNAME -p DATABASE
Run Code Online (Sandbox Code Playgroud)

还要检查您是否没有不同的端口来连接到 mysql 设置,默认情况下 codeigniter 将连接到 3306,除非您定义了实际的端口集。这可能就是问题所在。

祝你好运