2012-02-15 25 views
12

Tôi đã tạo một dự án Rails mới, tôi đã sử dụng giàn giáo và sau đó cố gắng để rake db: tạo. tôi không thay đổi config/database.yml nên mật khẩu là vô (Tôi luôn luôn nhập mật khẩu tôi sử dụng để đăng nhập vào localhost/phpmyadmin nhưng lần này tôi đã quên nó)Lỗi MySql 1045 sau khi rake db: tạo

phát triển: adapter: mysql2 mã hóa: utf8 kết nối lại: false cơ sở dữ liệu: test_associations_development hồ bơi: 5 username: gốc mật khẩu: ổ cắm: /tmp/mysql.sock

Tóm lại, với thiết bị đầu cuối tôi đã có foll nhờ thông điệp:

$ rake db:create Access denied for user 'root'@'localhost' (using password: NO). Please provide the root password for your mysql installation >

>*******(I entered my password here)

$ rake db:createrake aborted! (<unknown>): couldn't parse YAML at line 31 column 2

Tasks: TOP => db:create => db:load_config (See full trace by running task with --trace)

Sau này, tôi không thể đăng nhập vào phpmyadmin và khi tôi chạy ứng dụng của tôi tại địa phương tôi nhận được lỗi này :

Mysql2 :: Lỗi

Truy cập bị từ chối cho người dùng 'root' @ 'localhost' (sử dụng mật khẩu: YES)

Tôi đang sử dụng OS X 10.7.2, Rails 3.2, Ruby 1.9.3

Bất kỳ ý tưởng ??

Trả lời

8

Bạn có thể thử và truy cập MySQL bằng Terminal.app. Tại dòng lệnh chạy:

mysql -u root 

nếu bạn mong đợi mật khẩu gốc để được để trống và chưa thấy điều này:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 

Bạn biết mật khẩu đã được thay đổi.

Âm thanh như mật khẩu gốc đã được thay đổi. Nếu bạn không biết nó là gì, hãy làm theo các hướng dẫn sau để đặt lại mật khẩu: Resetting MySQL password.

+4

Giải quyết vấn đề bằng cách sử dụng lệnh sau: 'mysql -u root (không cần mật khẩu) ' ' SET PASSWORD CHO 'root' @ 'localhost' = PASSWORD ('mypassword');' Cảm ơn bạn! – Webspirit

+0

trong trường hợp của tôi những gì đã xảy ra là: có hai mật khẩu - một cho dev db và một cho db thử nghiệm, tôi quên thay đổi mật khẩu cho thử nghiệm db, chạy rake, và nó thay đổi mật khẩu cho người dùng của tôi để kiểm tra mật khẩu trong yml tập tin. – rohanagarwal

3

Câu trả lời này là trong mối liên hệ với Ruby on Rails khuôn khổ nơi hành vi này xảy ra

  1. có mysql với rễ dùng và mật khẩu
  2. bootstrap ray mới dự án sử dụng với mysql "đường ray projectname mới
    -d mysql "
  3. không sửa đổi cấu hình/cơ sở dữ liệu.yml - giá trị mặc định thông tin cho máy chủ name: root, mật khẩu là trống
  4. rake db: tạo nhanh chóng chương trình lên - yêu cầu mật khẩu gốc và sau đó khi bạn cung cấp mật khẩu gốc

câu trả lời là trong lệnh GRANT trên đường dây 68 trong here

về cơ bản nó thực hiện lệnh GRANT với các thông tin phù hợp với database.yml hiện tại của bạn

tôi đã thảo luận chủ đề này và hành vi sẽ được cải thiện và nó được thực hiện và báo cáo là một lỗi.

+0

+1 +1 cho "thông tin đăng nhập mặc định cho máy chủ là tên: root, mật khẩu trống" – cameck

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