ySQL의 루트에 비밀번호를 설정한 후 rails가 진행할 수 없는 문제를 해결하는 방법

4013 단어 MySQLRails

문제


MySQL에 루트 비밀번호를 설정한 후 rails를 원하면 MySQL에 접근할 수 없습니다
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
문제가 생겨 괴로워하는 사람은 나만은 아닐 것이다.

3일 정도 스스로 고통스러웠지만 선배들이 많은 걸 가르쳐줘서 해결됐어요.
이번에는 해결책을 적어봅시다!!

우선 config/database입니다.yml 열기


config/database.yml

default: &default
  adapter: mysql2
  encoding: utf8
  pool: 5
  username: root
  password:
  socket: /tmp/mysql.sock
여기서 조심해!!
할 수 없는 예.
config/database.yml

default: &default
  adapter: mysql2
  encoding: utf8
  pool: 5
  username: root
  password: あなたのMySQLrootパスワード(例:aiueo1234
  socket: /tmp/mysql.sock
default의password에 자신의 비밀번호 데이터베이스를 직접 입력하십시오.절대 yml에 쓰지 마세요.확실히 이렇게 하면 rails가 되지만 GitHub에 잘못 제출되어 전송할 때 자신의 비밀번호가 남용될 위험성이 있습니다.
그래서 이번에는 환경 변수라고 불리는 것을 사용한다.
대체적으로 말하자면, 환경 변수는 컴퓨터 자체가 가지고 있는 변수와 같다.
config/database.yml

default: &default
  adapter: mysql2
  encoding: utf8
  pool: 5
  username: root
  password: <%= ENV['RAILS_DATABASE_PASSWORD'] %>
  socket: /tmp/mysql.sock
password에 <%=ENV ['RAILS_DATABASE_PASSWORD']%>를 입력하십시오!
이렇게 하면 환경 변수를 이용할 수 있다.
그 다음에 터미널에서 관건적인 환경 변수 자체를 정의하기만 하면 됩니다!

터미널 열기


단말
 $
디렉터리는 홈 디렉터리(~)에서 진행됩니다!

vim.bash_profile를 입력합니다.


단말
 $ vim .bash_profile
Enter를 누르면 화면을 전환합니다.
'i'를 누르면 삽입 모드로 들어갑니다.
⓶ export RAILS_DATABASE_PASSWORD='너의 MySQL 루트 비밀번호'를 입력하세요.
Esc 키를 눌러 삽입 모드 종료
입력 ":wq"저장 & 종료
ε에서 데이터베이스 암호를 bash_로 설정프로필에서 데이터베이스를 정의합니다.yml에서 불러낼 수 있는 일!
저장 & 종료 완료 후 종료!!!,난 또
bash_소개
터미널을 다시 열거나 소스 명령을 사용하여 업데이트해야 반영
이런 성질이 있기 때문에 단말기를 다시 시작해야 합니까

source ~/.bash_소개 입력 및 반영


단말
$ vim .bash_profile
$ source ~/.bash_profile //これを入力!
특별한 변화는 없어 보이고 반응이 좋으니 신경 쓰지 마세요.

끝!!수고하셨습니다!



순조롭게 행동했다!

좋은 웹페이지 즐겨찾기