관리자가 다른 앱의 인스턴스를 여러 개 만들 때만 사용하는 앱에서 작업합니다.레일 컨트롤러 내에서 Mysql 사용자 만들기 액션
즉, app A
은 서버에 app B
의 복제본을 생성하고 해당 복제 된 응용 프로그램을 서브 도메인 new_clone.domain.com
에서 실행하는 데 필요한 모든 구성을 만드는 데 사용됩니다.
apache
설정 파일 unicorn server settings
파일도 생성하여 앱을 복제 할 수 있습니다. 레이크를 실행하려면 db:create; db:migrate
하지만 나는 root
mysql을 사용했다. 나는 응용 프로그램을 복제 지점에서
username
및
root
등
password
세트에있는 새 복제 된 앱의
database.yml
파일을 생성,하지만 복제 된 각 응용 프로그램에 대해 다른 사용자가 좋아 woould.
응용 A는 내가, 복제, 설정 파일을 생성, 레이크 작업을 실행하는 등 ... 그리고이 create
행동에 내가 만드는 모든 것들을 필요 않는 create
행동에 subdomains_controller.rb
에서 Subdomain
라는 모델을 가지고 특정 데이터베이스에 대한 권한이있는 새 Mysql
사용자
지금까지을 시도 무엇, 내가 작업을 생성 컨트롤러 내에서 MySQL의 명령을 실행하려고 내가 많이했다 말할 수 없다 :
def create
if @subdomain.save
....
system "mysql -u root -p root; create database new_database;..."
....
else
....
end
end
을하지만 내가 할 때까지 내 생성 조치를두고 암호를 입력해라. 그리고 내가 그것을 뒤돌아 볼 방법을 찾을지라도 나는 나머지 mysql 명령이 작동 할 지 확신하지 못한다. 아마도 mysql 콘솔에 가지 않고 한 명령 줄에 MySQL 사용자를 추가하는 더 좋은 방법이있을 것입니다.
감사합니다.
합니까 사용자가 데이터베이스 또는 사용자 생성에 필요한 권한 ? –
음, 내 루트 사용자는 네,하지만 그건 생각입니다. 새 사용자를 만들 때 데이터베이스를 만들고 그 데이터베이스에만 모든 종류의 권한을 가져야합니다. – rmagnum2002
이 명령은'-p'와'root' 사이에 공백이 있기 때문에 루트 암호를 묻습니다.'mysql' 맨 페이지를 확인하십시오. – toro2k