2013-06-19 137 views
2

當試圖在rails中使用遠程mysql數據庫時,它會忽略database.yml文件中的主機參數,並嘗試連接到本地服務器名稱。我使用XXX和localservername清理了以下信息。Rails使用本地主機而不是遠程ip主機連接到mysql2

下面是發展的database.yml條目:

development: 
    adapter: mysql2 
    encoding: utf8 
    database: temp_admin_development 
    username: XXX 
    password: XXX 
    host: 10.X.X.X 
    port: 3306 

這裏是運行耙分貝時,我們得到的錯誤:創建:

rake aborted! 
Mysql2::Error: Access denied for user 'XXX'@'localservername' to database 'temp_admin_development': CREATE DATABASE `temp_admin_development` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_unicode_ci` 

這裏是通過IRB連接手動嘗試: Mysql2 :: Client.new(:主機=> 「10.XXX」:用戶名=> 「XXX」)

Mysql2::Error: Access denied for user 'XXX'@'localservername' (using >password: NO) 
    from /home/XXX/.rvm/gems/ruby-1.9.3-p429/gems/mysql2-0.3.11/lib/mysql2/client.rb:44:in `connect' 
    from /home/XXX/.rvm/gems/ruby-1.9.3-p429/gems/mysql2-0.3.11/lib/mysql2/client.rb:44:in `initialize' 
    from (irb):2:in `new' 
    from (irb):2 
    from /home/XXX/.rvm/rubies/ruby-1.9.3-p429/bin/irb:16:in `<main>' 

注意它正試圖連接到本地服務器名稱並忽略正在傳遞的主機參數。

+1

我們發現了這個問題。主機實際上被正確拉入。問題是我們必須指定一個已經存在於mysql中的數據庫,而不是一個新的數據庫。一旦指定了rake db:migrate工作。 – dmautz

回答

1

我們發現了這個問題。主機實際上被正確拉入。問題是我們必須指定一個已經存在於mysql中的數據庫,而不是一個新的數據庫。一旦指定了rake db:migrate工作。

相關問題