데이터베이스에 대한 ** 모든 ** 권한 부여
예를 들어 'mydb'와 같은 데이터베이스를 만들었습니다.
CREATE DATABASE mydb CHARACTER SET utf8 COLLATE utf8_bin;
CREATE USER 'myuser'@'%' IDENTIFIED BY PASSWORD '*HASH';
GRANT ALL ON mydb.* TO 'myuser'@'%';
GRANT ALL ON mydb TO 'myuser'@'%';
GRANT CREATE ON mydb TO 'myuser'@'%';
FLUSH PRIVILEGES;
이제 어디서나 데이터베이스에 로그인 할 수 있지만 테이블을 만들 수는 없습니다.
해당 데이터베이스 및 (향후) 테이블에 대한 모든 권한을 부여하는 방법. 'mydb'데이터베이스에 테이블을 만들 수 없습니다. 나는 항상 얻는다 :
CREATE TABLE t (c CHAR(20) CHARACTER SET utf8 COLLATE utf8_bin);
ERROR 1142 (42000): CREATE command denied to user 'myuser'@'...' for table 't'
GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'%' WITH GRANT OPTION;
이것이 내가 "수퍼 유저"권한을 생성하는 방법입니다 (일반적으로 호스트를 지정하지만).
중요 사항
이 답변은 액세스 문제를 해결할 수 있지만 다른 사용자의 권한을 편집WITH GRANT OPTION
할 수있는 MySQL 사용자를 만듭니다 .
GRANT OPTION 권한을 사용하면 다른 사용자에게 부여하거나 자신이 소유 한 권한을 다른 사용자로부터 제거 할 수 있습니다.
보안상의 이유로, 일반인이 액세스 할 수있는 모든 프로세스 (예 : 웹 사이트)에이 유형의 사용자 계정을 사용해서는 안됩니다. 이러한 종류의 사용에 대한 데이터베이스 권한 만있는 사용자 를 생성하는 것이 좋습니다 .
이것은 오래된 질문이지만 받아 들인 대답이 안전하다고 생각하지 않습니다. 수퍼 유저를 만드는 데는 좋지만 단일 데이터베이스에 대한 권한을 부여하려는 경우에는 좋지 않습니다.
grant all privileges on mydb.* to myuser@'%' identified by 'mypasswd';
grant all privileges on mydb.* to myuser@localhost identified by 'mypasswd';
%
소켓 통신을 다루지 않는 것 같습니다 localhost
. WITH GRANT OPTION
수퍼 유저에게만 유용합니다. 그렇지 않으면 일반적으로 보안 위험이 있습니다.
도움이 되었기를 바랍니다.
이것은 일부 사람들에게 도움이 될 것입니다.
MySQL 명령 줄에서 :
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
슬프게도이 시점에서 newuser는 데이터베이스에 대해 아무것도 할 권한이 없습니다. 사실, 새로운 사용자가 (비밀번호, 비밀번호를 사용하여) 로그인을 시도하더라도 MySQL 셸에 접근 할 수 없습니다.
따라서 가장 먼저해야 할 일은 사용자에게 필요한 정보에 대한 액세스 권한을 제공하는 것입니다.
GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost';
이 명령의 별표는 액세스 할 수있는 데이터베이스 및 테이블 (각각)을 나타냅니다.이 특정 명령을 사용하면 사용자가 모든 데이터베이스 및 테이블에서 모든 작업을 읽고, 편집하고, 실행하고, 수행 할 수 있습니다.
새 사용자에 대해 설정하려는 권한을 완료 한 후에는 항상 모든 권한을 다시로드해야합니다.
FLUSH PRIVILEGES;
이제 변경 사항이 적용됩니다.
자세한 정보 : http://dev.mysql.com/doc/refman/5.6/en/grant.html
명령 줄에 익숙하지 않은 경우 MySQL workbench , Navicat 또는 SQLyog 와 같은 클라이언트를 사용할 수 있습니다.
1. 데이터베이스 생성
CREATE DATABASE db_name;
2. db_name 데이터베이스의 사용자 이름을 만듭니다.
GRANT ALL PRIVILEGES ON db_name.* TO 'username'@'localhost' IDENTIFIED BY 'password';
3. 데이터베이스 사용
USE db_name;
4. 마지막으로 db_name 데이터베이스에서 create, select 및 insert 작업과 같은 명령을 실행합니다.
이 SQL은 모든 데이터베이스에 부여하지만 기본 권한 만 부여합니다. Drupal 또는 Wordpress에 충분하며 로컬 프로젝트에 대해 하나의 개발자 계정을 허용합니다.
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP,
INDEX, ALTER, CREATE TEMPORARY TABLES
ON *.* TO 'username'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON mydb.* TO myuser@localhost IDENTIFIED BY 'mypasswd';
스키마에 대한 권한 작동 :)
선택 사항 : mypasswd
추가 할 수있는 후WITH GRANT OPTION
안녕하세요 저는이 코드를 사용하여 mysql에서 슈퍼 사용자를 얻었습니다.
GRANT EXECUTE, PROCESS, SELECT, SHOW DATABASES, SHOW VIEW, ALTER, ALTER ROUTINE,
CREATE, CREATE ROUTINE, CREATE TEMPORARY TABLES, CREATE VIEW, DELETE, DROP,
EVENT, INDEX, INSERT, REFERENCES, TRIGGER, UPDATE, CREATE USER, FILE,
LOCK TABLES, RELOAD, REPLICATION CLIENT, REPLICATION SLAVE, SHUTDOWN,
SUPER
ON *.* TO mysql@'%'
WITH GRANT OPTION;
그리고
FLUSH PRIVILEGES;
나는 GRANT OPTION
항상 권한 거부 오류를 수신하지 않고 추가하여 만 작동시킬 수 있습니다.
GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'localhost' WITH GRANT OPTION;
To access from remote server to mydb database only
GRANT ALL PRIVILEGES ON mydb.* TO 'root'@'192.168.2.21';
To access from remote server to all databases.
GRANT ALL PRIVILEGES ON * . * TO 'root'@'192.168.2.21';
To grant all priveleges on the database: mydb
to the user: myuser
, just execute:
GRANT ALL ON mydb.* TO 'myuser'@'localhost';
or:
GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'localhost';
The PRIVILEGES
keyword is not necessary.
Also I do not know why the other answers suggest that the IDENTIFIED BY 'password'
be put on the end of the command. I believe that it is not required.
참고URL : https://stackoverflow.com/questions/5016505/grant-all-privileges-on-database
'program tip' 카테고리의 다른 글
setState를 호출하지 않고 React 컴포넌트를 강제로 다시 렌더링 할 수 있습니까? (0) | 2020.10.03 |
---|---|
React Native와 React의 차이점은 무엇입니까? (0) | 2020.10.03 |
"피어 별 연결 재설정"이란 무엇을 의미합니까? (0) | 2020.10.03 |
Python의 open ()은 파일이 없으면 생성하지 않습니다. (0) | 2020.10.03 |
객체가 jQuery 객체인지 확인 (0) | 2020.10.03 |