문제
1 개 이상의 웹 앱에서 사용하는 여러 데이터베이스가있는 MySQL 데이터베이스가 있습니다.
이제 새 사용자 계정을 통해서만 액세스 할 수있는 새 데이터베이스를 만들어야합니다. 나는 Navicat v5.3.3을 사용하여 사용자를 관리하여 설정하려고 시도했지만 작동하지 않는 것 같습니다. MySQL 또는 Navicat의 BEC인지 모르겠습니다.
그러나 새로운 DB가 새로운 계정이 액세스 할 수 있다는 새로운 DB를 원한다는 점을 감안할 때 (다른 DBS가 아님)이를 설정하는 가장 좋은 방법은 무엇입니까?
감사
해결책
데이터베이스를 작성하고 사용자에게 원하는 권한을 부여하면 MySQL 쿼리 도구를 시작하고 다음 쿼리를 입력해야합니다.
CREATE DATABASE foobar;
GRANT ALL PRIVILEGES ON foobar.* TO 'foobar_user'@'localhost'
IDENTIFIED BY 'goodsecret';
MySQL 매뉴얼을 볼 수 있습니다 여기
다른 팁
나는 보통 phpmyadmin 또는 mysql 명령 줄 인터페이스를 사용합니다. 데이터베이스를 작성하고 (SuperUser 계정 사용) 사용자가 해당 데이터베이스에 적절한 권한이 있는지 확인하십시오.
같은 것 :
CREATE DATABASE database_name;
GRANT ALL ON database_name.* TO new_user@'localhost' IDENTIFIED BY 'password';
사용자가 '암호'를 사용하여 LocalHost에서 연결되어 있다면 Database_Name의 내용에 대한 'New_User'가 'New_User'의 모든 권한을 제공합니다.
그래도 GUI를 원한다면 - Phpmyadmin을 강력히 추천합니다 (http://www.phpmyadmin.net/)
편집 : 설명에 따라이 새로운 사용자가 액세스하는 것을 방지하기 위해 다른 데이터베이스의 권한이 설정되어 있는지 확인하려고합니다. 'Grants Show'를 사용하여 어떤 사용자가 어떤 테이블에 대한 권한이 있는지 확인할 수 있습니다. http://en.wikipedia.org/wiki/internet_explorer_box_model_bug