【发布时间】:2015-05-21 19:06:56
【问题描述】:
我的远程数据库连接有问题。
步骤,我做了:
1) 在 GemFile 中添加:
gem 'mysql2'
2) 在database.yml中:
development:
adapter: mysql2
database: myname
username: myuser
password: mypass
host: myhost.nazwa.pl
port: 3305
3) 然后在控制台中输入:
rake db:migrate
我得到的通讯:
Mysql2::Error: Can't connect to MySQL server on 'myhost.nazwa.pl' (4)
我想试试我是否可以使用小的 php 脚本连接到这个数据库:
<?php
$host = 'myhost.nazwa.pl';
$database = 'myname';
$username = 'myuser';
$password = 'mypass';
if ( mysql_connect($host,$username,$password) ) {
echo 'connect to mysql server *** ';
}
if ( mysql_select_db($database) ) {
echo 'open database';
}
if ( !mysql_close() ) {
echo 'cannot close connection';
exit (0);
}
?>
而且没有问题。我可以连接、创建表格、添加数据等。
你能给我一些建议吗?哪里可能有问题?我将非常感激。 问候:)
【问题讨论】:
-
我没有看到您在 PHP 脚本中指定端口。默认 MySQL 端口是 3306,而不是您在
database.yml中指定的 3305 -
貌似唯一的区别是端口号,默认是3305吗?
-
看起来它在 3305 和 3306 上都可以监听(以后可能需要防火墙)。您的 database.yml 是否有缩进的键,或者它们都在同一级别。
-
我从 databyse.yml 中删除了端口。问题依然存在。但是当我登录到 mysql.nazwa.pl 时,有信息:Serwer: myhost.nazwa.pl:3305 我已经打算在 database.yml
-
php脚本和rails/ruby是在同一台机器上吗?如果您打开命令提示符(在 rails 机器上)并且
telnet myhost.nazwa.pl 3305它会连接/显示任何内容
标签: mysql ruby-on-rails ruby database