簡體   English   中英

Rails連接中沒有數據庫名稱

[英]Rails no database name in connection

嘗試在Ubuntu 16.04上的產品中運行Rails應用程序,並安裝mysql Ver 14.14 Distrib 5.7.24 ,Ruby 2.5.3並使用mysql2 gem。 在我的Mac 10.13上它可以正常工作。 我的Rails應用似乎無法在Ubuntu中讀取數據庫名稱。

找不到數據庫名稱: {:adapter=>"mysql2", :encoding=>"utf8", :database=>nil, :username=>"myUser", :password=>"secret", :host=>"127.0.0.1", :port=>3306}

然后添加127.0.0.1作為數據庫名稱: {:adapter=>"mysql2", :encoding=>"utf8", :database=>"127.0.0.1", :username=>"myUser", :password=>"secret", :host=>"127.0.0.1", :port=>3306}

我的database.yml

production: adapter: mysql2 encoding: utf8 database: mydb username: myUser password: secret host: 127.0.0.1 port: 3306

關於為什么無法在Ubuntu服務器上連接數據庫的問題,我一直在發hair。 我可以通過CLI和數據庫用戶一起通過mysql登錄mysql。

我還在帶有Vagrant的Ubuntu盒子上看到相同的問題,因此很一致。

目前,任何幫助都是非常感謝的。

我不知道,但是以這種格式進行工作。 我嘗試了其他所有事情,使用了不同的數據庫名稱,等等都無濟於事:

production: url: mysql2://user:pass@localhost/myDb

謝謝你的回復。

您的database.yml應該看起來像這樣:

development:
  adapter:  mysql2
  encoding: unicode
  pool: 5
  username: mysql_user
  password: your_password
  host:     localhost_or_your_host
  database: db_name

請更改您的環境以滿足您的要求。 這將適用於您的開發模式。

  1. 在Rails應用程序可以連接到MySQL服務器之前,您需要安裝MySQL適配器。 mysql2 gem提供了此功能。 以Rails用戶身份,安裝mysql2 gem,如下所示:
    \n gem安裝mysql2 \n
  2. 如果您有config / database.yml文件,請像這樣保留文件更改:(或創建新文件)
    \n 發展:\n  適配器:mysql2\n  編碼:utf8\n  數據庫:my_db_name\n  用戶名:root\n  密碼:my_password\n  主持人:127.0.0.1\n  端口:3306\n
  3. 使用以下rake命令創建應用程序的開發數據庫:
    \n 耙db:create\n

請按照以下步驟進行更改。這肯定適用於您的開發模式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM