문제

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

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top