사용자를 추가하는 방법: 1. "CREATE USER user IDENTIFIED BY 'password';" 문을 사용합니다. 2. "GRANT priv_type ON Database.table TO user IDENTIFIED BY 'password';"를 사용합니다.
이 튜토리얼의 운영 환경: windows7 시스템, mysql8 버전, Dell G3 컴퓨터.
MySQL이 설치되면 기본적으로 root라는 사용자가 생성됩니다. 이 사용자는 슈퍼 권한을 가지며 전체 MySQL 서버를 제어할 수 있습니다.
MySQL의 일상적인 관리 및 운영에 있어서 누군가 루트 사용자를 악의적으로 이용하여 데이터베이스를 제어하는 것을 방지하기 위해 일반적으로 적절한 권한을 가진 일부 사용자를 생성하고 루트 사용자를 사용하여 로그인하는 경우가 많습니다. 데이터 보안을 보장하기 위해 시스템에 접근합니다.
MySQL은 사용자 생성을 위해 다음과 같은 3가지 방법을 제공합니다.
CREATE USER 문을 사용하여 사용자 생성
mysql.user 테이블에 사용자 추가
GRANT 문을 사용하여 사용자 생성
다음은 이 3가지 방법을 자세히 설명합니다. 예시를 기반으로 합니다.
1. CREATE USER 문을 사용하여 사용자를 생성합니다.
CREATE USER 문을 사용하여 MySQL 사용자를 생성하고 해당 비밀번호를 설정할 수 있습니다. 기본 구문 형식은 다음과 같습니다.
CREATE USER <用户> [ IDENTIFIED BY [ PASSWORD ] 'password' ] [ ,用户 [ IDENTIFIED BY [ PASSWORD ] 'password' ]]
매개 변수 설명은 다음과 같습니다.
1) 사용자
는 사용자 계정을 생성하도록 지정하며 형식은 user_name'@'host_name입니다. 여기서 user_name은 사용자 이름이고, host_name은 사용자가 MySQL에 연결하는 데 사용하는 호스트 이름인 호스트 이름입니다. 생성 과정에서 호스트 이름을 지정하지 않고 사용자 이름만 지정한 경우 호스트 이름은 기본적으로 호스트 그룹을 나타내는 "%"로 지정됩니다. 즉, 모든 호스트에 권한이 열려 있습니다.
3) IDENTIFIED BY 절
은 사용자 비밀번호를 지정하는 데 사용됩니다. 신규 사용자는 초기 비밀번호가 필요하지 않습니다. 사용자가 비밀번호가 없으면 이 조항을 생략할 수 있습니다.
2) PASSWORD 'password'
PASSWORD는 해시 값을 사용하여 비밀번호를 설정하는 것을 의미합니다. 비밀번호가 일반 문자열인 경우 PASSWORD 키워드를 사용할 필요가 없습니다. 'password'는 사용자가 로그인하는 데 사용하는 비밀번호를 나타내며 작은따옴표로 묶어야 합니다.
CREATE USER 문을 사용할 때 다음 사항에 주의해야 합니다.
CREATE USER 문에는 초기 비밀번호를 지정할 필요가 없습니다. 그러나 보안 관점에서 이 접근 방식은 권장되지 않습니다.
CREATE USER 문을 사용하려면 mysql 데이터베이스에 대한 INSERT 권한이나 전역 CREATE USER 권한이 있어야 합니다.
CREATE USER 문을 사용하여 사용자를 생성한 후 MySQL은 mysql 데이터베이스의 사용자 테이블에 새 레코드를 추가합니다.
CREATE USER 문은 동시에 여러 사용자를 생성할 수 있습니다. 여러 사용자는 쉼표로 구분됩니다.
새로 생성된 사용자에게는 권한이 거의 없으며 권한이 필요하지 않은 작업만 수행할 수 있습니다. 예를 들어 MySQL에 로그인하고 SHOW 문을 사용하여 모든 스토리지 엔진 및 문자 집합 목록을 쿼리하는 등의 작업을 수행합니다. 두 명의 사용자가 동일한 사용자 이름을 가지고 있지만 호스트 이름이 다른 경우 MySQL은 이들을 두 명의 사용자로 간주하고 두 사용자에게 서로 다른 권한 집합을 할당할 수 있도록 허용합니다.
예제 1
CREATE USER를 사용하여 사용자를 생성합니다. 사용자 이름은 test1, 비밀번호는 test1, 호스트 이름은 localhost입니다. SQL문과 실행과정은 다음과 같다.
mysql> CREATE USER 'test1'@'localhost' IDENTIFIED BY 'test1'; Query OK, 1 rows affected (0.06 sec)
결과는 test1 사용자가 성공적으로 생성되었음을 보여줍니다.
실제 응용에서는 일반 텍스트로 비밀번호를 지정하는 것을 피해야 합니다. PASSWORD 키워드를 사용하여 비밀번호의 해시 값을 사용하여 비밀번호를 설정할 수 있습니다.
예제 2
MySQL에서는 Password() 함수를 사용하여 비밀번호의 해시 값을 얻을 수 있습니다. test1 해시 값을 보기 위한 SQL 문 및 실행 프로세스는 다음과 같습니다.
mysql> SELECT password('test1'); +-------------------------------------------+ | password('test1') | +-------------------------------------------+ | *06C0BF5B64ECE2F648B5F048A71903906BA08E5C | +-------------------------------------------+ 1 row in set, 1 warning (0.00 sec)
"*06C0BF5B64ECE2F648B5F048A71903906BA08E5C "는 test1 값의 해시입니다. 다음으로 test1이라는 사용자를 생성합니다. SQL 문 및 실행 과정은 다음과 같습니다.
mysql> CREATE USER 'test1'@'localhost'IDENTIFIED BY PASSWORD '*06C0BF5B64ECE2F648B5F048A71903906BA08E5C'; Query OK, 0 rows affected, 1 warning (0.00 sec)
실행 성공 후 비밀번호 "test1"로 로그인할 수 있습니다.
2. GRANT 문을 사용하여 새로운 사용자를 생성합니다
CREATE USER는 일반 사용자를 생성할 수 있지만, 이 방법은 사용자 권한을 부여하기에는 불편합니다. 그래서 MySQL은 GRANT 문을 제공합니다.
사용자를 생성하기 위해 GRANT 문을 사용하는 기본 문법 형식은 다음과 같습니다.
GRANT priv_type ON database.table TO <用户> [IDENTIFIED BY [PASSWORD] 'password']
여기서:
priv_type 매개변수는 새 사용자의 권한을 나타냅니다.
database.table 매개변수 새 사용자의 권한 범위를 나타냅니다. 즉, 지정된 데이터베이스 및 테이블에 대해서만 자신의 권한을 사용할 수 있습니다.
IDENTIFIED BY 키워드
password 매개변수는 새 사용자의 비밀번호를 나타냅니다.
예제 3
다음은 GRANT 문을 사용하여 test3이라는 사용자를 생성합니다. 호스트 이름은 localhost이고 암호는 test3입니다. 이 사용자는 모든 데이터베이스의 모든 테이블에 대한 SELECT 권한을 갖습니다. SQL 문 및 실행 과정은 다음과 같습니다.
mysql> GRANT SELECT ON*.* TO 'test3'@localhost IDENTIFIED BY 'test3'; Query OK, 0 rows affected, 1 warning (0.01 sec)
其中,“*.*” 表示所有数据库下的所有表。结果显示创建用户成功,且 test3 用户对所有表都有查询(SELECT)权限。
技巧:GRANT 语句是 MySQL 中一个非常重要的语句,它可以用来创建用户、修改用户密码和设置用户权限。教程后面会详细介绍如何使用 GRANT 语句修改密码、更改权限。
【相关推荐:mysql视频教程】
위 내용은 mysql에 사용자를 추가하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!