2011-12-30 45 views
5

Chỉ cần thiết lập một đường ray mới 3.1.3 ứng dụng sử dụng mysql (mysql2 gem) trên máy chủ CentOS 5/apache/hành khách ... Tôi đã thiết lập đúng cơ sở dữ liệu và người dùng cho cơ sở dữ liệu đó và tôi đã thêm thông tin đăng nhập và thông tin vào tệp database.yml của mình ... Tôi có thể tạo nội dung và rake db: di chuyển ok nhưng "Chúng tôi xin lỗi nhưng đã xảy ra sự cố. " thông báo đang được hiển thị trong trình duyệt và thông báo này hiển thị trong tệp production.log của tôi!Mysql2 :: Lỗi (Truy cập bị từ chối cho người dùng 'root' @ 'localhost' (sử dụng mật khẩu: NO)):

Started GET "/" cho xx.xxx.xx.xxx ở 2011-12-29 19:52:35 -0600

Mysql2 :: Lỗi (Access từ chối cho người dùng 'root' @ 'localhost' (sử dụng mật khẩu: NO)):

lạ, tôi không sử dụng "root" làm thông tin đăng nhập trong database.yml ... Mọi đề xuất?

development: 
    adapter: mysql2 
    encoding: utf8 
    reconnect: false 
    database: the_db_I_made 
    pool: 5 
    username: the_user_I_made 
    password: the_password 
    socket: /var/lib/mysql/mysql.sock 

production: 
    adapter: mysql2 
    encoding: utf8 
    reconnect: false 
    database: the_db_I_made 
    pool: 5 
    username: the_user_I_made 
    password: the_password 
    socket: /var/lib/mysql/mysql.sock 
+1

Vui lòng thêm nội dung của database.yml (lọc thông tin của bạn) – andrewpthorp

Trả lời

1

Ok, tôi đoán đây là tất cả các phần của đường cong học tập của tôi :)

gì nó đã kết thúc lên được là thế này: Các đá quý cho hành khách mà tôi cài đặt ban đầu là phiên bản 3.0.9, tôi đã cập nhật gem - hệ thống và phiên bản cài đặt 3.0.11. Vì vậy, máy chủ nghĩ rằng nó đã được sử dụng phiên bản 3.0.11 và tôi vẫn chỉ đến thư viện cho 3.0.9 trong tập tin rails_server.conf của tôi. Tôi thấy làm thế nào để nâng cấp trên http://blog.phusion.nl/

+1

Thay vì chỉ trỏ đến blog của Phusion, bạn nên trỏ đến một bài viết cụ thể hoặc bao gồm các lệnh có liên quan để nâng cấp Hành khách trong câu trả lời thực tế của bạn. –

4

Bunch các câu hỏi/đề xuất:

  1. Bạn có thể kết nối với cơ sở dữ liệu bằng cách sử dụng thiết bị đầu cuối?

    mysql -u root -p 
    
  2. Ngoài ra, bạn đã thử điều này ở chế độ phát triển chưa? Nếu có, vui lòng chia sẻ kết quả.

  3. Cố gắng loại bỏ

    socket: /var/lib/mysql/mysql.sock 
    
  4. là quá trình cài đặt đá quý có đúng không?

    gem check mysql2 
    

EDIT:

Có rất nhiều sự khác biệt trong sự phát triển và phương thức sản xuất (bao gồm nhưng không giới hạn, biến môi trường như chuỗi kết nối cơ sở dữ liệu, tài sản trước biên soạn, khác nhau mức độ ghi nhật ký, thông tin gỡ lỗi tùy chỉnh trên các trang lỗi)

** Xấu hổ !! **

Bạn có không bao gồm thuộc tính "máy chủ" trong cấu hình của bạn!

Hãy thử điều này:

production: 
    adapter: mysql2 
    encoding: utf8 
    reconnect: false 
    host: your_host #<----- normally localhost 
    database: the_db_I_made 
    pool: 5 
    username: the_user_I_made 
    password: the_password 
    socket: /var/lib/mysql/mysql.sock 
+0

Hi @ Varun-Vohra! 1. Tôi có thể kết nối thông qua thiết bị đầu cuối bằng cách sử dụng 'mysql -u the_user -p the_db' và chạy các lệnh như" hiển thị bảng "tốt. 2. Tôi mới và không thực sự có đầu của tôi bọc xung quanh sự khác biệt giữa dev và chế độ sản xuất khác với chế độ dev có thể có nhiều lỗi đầu ra hoặc thông tin là gì? Có vẻ như di chuyển ghi vào tệp development.log và http yêu cầu ghi vào production.log mặc dù .. 3. Chỉ cần cố gắng loại bỏ ổ cắm: /var/lib/mysql/mysql.sock - cùng một vấn đề vẫn .. 4. Ran gem kiểm tra mysql2 - không có đầu ra nào vừa trả về một dòng mới .. vì vậy tôi đoán đó là ok .. –

+0

Tôi đã thêm thuộc tính host vào database.yml - vẫn còn lỗi tương tự. Về cơ bản vì một số lý do đá quý mysql2 nghĩ rằng tôi đang cố gắng kết nối với cơ sở dữ liệu như thế này "-u root -p" ... mặc dù đó không phải là những gì tôi có trong tệp database.yml .. –

+0

Lần đầu tiên tôi gỡ bỏ thêm trở lại các dòng ổ cắm và nó đã làm việc! – Eenvincible

0
  1. Trong Ubuntu 1)/usr/bin/mysql_secure_installation 2) Run in Terminal làm theo các bước một cách cẩn thận thay đổi mật khẩu mysql here.Everything thực hiện .Sau đó đi đến database.yml thay đổi mật khẩu trước đây những gì bạn đã tạo. Chạy máy chủ đường ray và kiểm tra ứng dụng ..nó sẽ hoạt động
0

Bạn đã tạo cơ sở dữ liệu "the_db_I_made"?

Trước tiên hãy tạo nó, sau đó chỉ chạy nó, nếu không nó sẽ hiển thị lỗi này liên tục.

Bây giờ, hãy thử điều chỉnh.

0

Đối với tôi Đã xảy ra lỗi do không có cơ sở dữ liệu. Vì vậy, tôi đã tạo ra một Sử dụng:

$ rake db: tạo

Và vấn đề đã được giải quyết: D

Các vấn đề liên quan