>  기사  >  데이터 베이스  >  MySQL에 새로운 사용자 권한을 추가하는 예에 대한 자세한 설명

MySQL에 새로운 사용자 권한을 추가하는 예에 대한 자세한 설명

Y2J
Y2J원래의
2017-05-24 13:57:211858검색

사용자를 추가하는 방법에는 GRANT 문을 사용하거나 MySQL 부여 테이블을 직접 조작하는 두 가지 방법이 있습니다. 더 나은 접근 방식은 GRANT 문을 사용하는 것입니다. 그 이유는 GRANT 문이 더 간결하고 오류 발생 가능성이 덜해 보이기 때문입니다.

다음 예에서는 MySQL 클라이언트를 사용하여 새 사용자를 설치하는 방법을 보여줍니다. 이 예에서는 이전 섹션에서 설명한 대로 권한이 기본적으로 설치되어 있다고 가정합니다. 즉, 변경하려면 MySQL이 실행 중인 것과 동일한 시스템에 있어야 하고, MySQL 루트 사용자로 연결되어 있어야 하며, 루트 사용자에게는 MySQL 데이터베이스에 대한 삽입 권한과 다시 로드 관리 권한이 있어야 합니다. . 또한 루트 사용자 비밀번호를 변경하는 경우 다음 MySQL 명령을 사용하여 이를 지정해야 합니다.
GRANT 문을 실행하여 새 사용자를 추가할 수 있습니다.
코드는 다음과 같습니다.

shell> mysql --user=root mysql   
mysql> GRANT ALL PRIVILEGES ON *.* TO monty@localhost         
IDENTIFIED BY 'something' WITH GRANT OPTION;   
mysql> GRANT ALL PRIVILEGES ON *.* TO monty@"%"         
IDENTIFIED BY 'something' WITH GRANT OPTION;   
mysql> GRANT RELOAD,PROCESS ON *.* TO admin@localhost;  
 mysql> GRANT USAGE ON *.* TO dummy@localhost;

이 GRANT 문은 3명의 새 사용자를 설치합니다.

monty: 어디에서나 서버에 연결할 수 있지만 이를 수행하려면 비밀번호('뭔가')를 사용해야 하는 완전한 수퍼유저입니다. monty@localhost 및 monty@"%"에 대해 GRANT 문을 실행해야 합니다. localhost 항목을 추가하면 mysql_install_db에 의해 생성된 로컬 호스트에서 연결할 때 localhost에 대한 익명 사용자 항목에 우선 순위가 부여됩니다. 왜냐하면 이 항목에는 보다 구체적인 Host 필드 값이 있으므로 사용자 테이블 정렬 순서에서 더 먼저 나타나기 때문입니다. 🎜>
admin: 비밀번호 없이 localhost에서 연결할 수 있고 다시 로드 및 프로세스 관리 권한이 부여된 사용자입니다. 이를 통해 사용자는 mysqladmin reload, mysqladmin Refresh 및 mysqladmin
flush
-* 명령을 실행할 수 있습니다. , mysqladmin 프로세스list. 데이터베이스 관련 권한은 부여되지 않습니다. dummy: 사용자는 비밀번호 없이 연결할 수 있지만 권한은 'N'으로 설정됩니다. USAGE 권한 유형을 사용하면 권한 없이 사용자를 설정할 수 있습니다.

추가할 수도 있습니다. INSERT 문을 발행하여 직접 동일한 권한 부여 테이블을 다시 로드하도록 서버에 지시합니다.

코드는 다음과 같습니다.

shell> mysql --user=root mysql   
mysql> INSERT INTO user VALUES('localhost','monty',PASSW
ORD
('something'),   
        'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y')   
mysql> INSERT INTO user VALUES('%','monty',PASSWORD('something'),   
        'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y')   
mysql> INSERT INTO user 
SET
 Host='localhost',User='admin',   
         Reload_priv='Y', Process_priv='Y';   
mysql> INSERT INTO user (Host,User,Password)   
            VALUES('localhost','dummy','');   
mysql> FLUSH PRIVILEGES;

[관련 권장 사항] ]


1.

Mysql 무료 동영상 튜토리얼

2.

PHP가 mysql에 이미지를 저장하는 방법에 대한 자세한 예

3.

mysqldump를 사용하여 테이블 백업 및 복원 예제에 대한 자세한 설명

4.

데이터베이스의 내용을 정규식으로 바꾸는 예제에 대한 자세한 설명

5.

MySQL의 비밀번호 변경 및 접근 제한 사례

위 내용은 MySQL에 새로운 사용자 권한을 추가하는 예에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.