mysql 데이터베이스에 사용자를 추가하는 방법

青灯夜游
풀어 주다: 2022-06-14 17:18:45
원래의
12284명이 탐색했습니다.

사용자를 추가하는 두 가지 방법: 1. CREATE USER 문을 사용하여 새 사용자를 생성하고 해당 비밀번호를 설정합니다. 구문은 "CREATE USER user IDENTIFIED BY [PASSWORD] 'password']"입니다. 2. GRANT 문을 사용하여 "GRANT user Authority ON Database.table TO user [IDENTIFIED BY [PASSWORD] 'password']" 구문으로 새 사용자를 생성합니다.

mysql 데이터베이스에 사용자를 추가하는 방법

이 튜토리얼의 운영 환경: windows7 시스템, mysql8 버전, Dell G3 컴퓨터.

MySQL이 설치되면 기본적으로 root라는 사용자가 생성됩니다. 이 사용자는 슈퍼 권한을 가지며 전체 MySQL 서버를 제어할 수 있습니다.

MySQL의 일상적인 관리 및 운영에 있어서 누군가 루트 사용자를 악의적으로 이용하여 데이터베이스를 제어하는 것을 방지하기 위해 일반적으로 적절한 권한을 가진 일부 사용자를 생성하고 루트 사용자를 사용하여 로그인하는 경우가 많습니다. 데이터 보안을 보장하기 위해 시스템에 접근합니다.

mysql 데이터베이스에 사용자를 추가(생성)하는 두 가지 방법

  • CREATE USER 문을 사용하여 사용자 만들기

  • GRANT 문을 사용하여 사용자 만들기

1 MySQL CREATE USER 문을 사용합니다. to create new users

Yes CREATE USER 문을 사용하여 MySQL 사용자를 생성하고 해당 비밀번호를 설정하세요. 기본 구문 형식은 다음과 같습니다.

CREATE USER 用户 IDENTIFIED BY [ PASSWORD ] 'password'];
로그인 후 복사

1) 사용자

가 사용자 계정을 생성하도록 지정하며 형식은 username'@'hostname입니다. 여기서 user_name은 사용자 이름이고, host_name은 사용자가 MySQL에 연결하는 데 사용하는 호스트 이름인 호스트 이름입니다. 생성 과정에서 호스트 이름을 지정하지 않고 사용자 이름만 지정한 경우 호스트 이름은 기본적으로 호스트 그룹을 나타내는 "%"로 지정됩니다. 즉, 모든 호스트에 권한이 열려 있습니다.

3) IDENTIFIED BY 절

은 사용자 비밀번호를 지정하는 데 사용됩니다. 신규 사용자에게는 초기 비밀번호가 필요하지 않습니다. 사용자에게 비밀번호가 없으면 이 절을 생략할 수 있습니다.

2) PASSWORD 'password'

PASSWORD는 해시 값을 사용하여 비밀번호를 설정하는 것을 의미합니다. 비밀번호가 일반 문자열인 경우 PASSWORD 키워드를 사용할 필요가 없습니다. 'password'는 사용자가 로그인하는 데 사용하는 비밀번호를 나타내며 작은따옴표로 묶어야 합니다.

참고: 비밀번호는 일반 텍스트여야 합니다. MySQL은 사용자 계정을user테이블에 저장하기 전에 비밀번호를 암호화합니다.
user表中之前,MySQL将加密密码。

例如,要创建一个使用 密码dbadmin连接到MySQL数据库服务器 的新用户,请使用以下 语句:localhostsecretCREATE USER

CREATE USER dbadmin@localhost IDENTIFIED BY 'secret';
로그인 후 복사

要查看用户帐户的权限,请使用以下SHOW GRANTS语句:

SHOW GRANTS FOR dbadmin@localhost;
로그인 후 복사

mysql 데이터베이스에 사용자를 추가하는 방법

结果中的*.*表示用户帐户dbadmin只能登录数据库服务器,没有其他权限。要向用户授予权限,请使用GRANT语句。

请注意,点(.)前面的部分代表数据库,点(.)后面的部分代表表格,例如,database.table

要允许用户帐户从任何主机进行连接,请使用百分比(%)通配符,如以下示例所示:

CREATE USER superadmin@'%'IDENTIFIED BY 'secret';
로그인 후 복사

百分比通配符%与在LIKE运算符中使用的效果相同,例如,要允许mysqladmin用户帐户从begtut.com主机的任何子域连接到数据库服务器 ,请使用百分比通配符%,如下所示:

CREATE USER mysqladmin@'%.begtut.com'IDENTIFIED by 'secret';
로그인 후 복사

请注意,您还可以在CREATE USER语句中使用下划线通配符_ 。

如果省略hostname用户帐户的一部分,MySQL将接受它并允许用户从任何主机连接。例如,以下语句创建一个名为remote可以从任何主机连接到数据库服务器的新用户帐户:

CREATE USER remote;
로그인 후 복사
로그인 후 복사
로그인 후 복사

您可以看到授予remote用户帐户的权限,如下所示:

SHOW GRANTS FOR remote;
로그인 후 복사

mysql 데이터베이스에 사용자를 추가하는 방법

如果您不小心引用了用户帐户'username@hostname',MySQL会创建一个用户username@hostname name

예를 들어, MySQL 데이터베이스 서버에 연결하기 위해 비밀번호가 dbadmin인 새 사용자를 생성하려면 다음 문을 사용하세요. ">localhost 비밀 사용자 생성
CREATE USER 'api@localhost';
로그인 후 복사
로그인 후 복사
다음의 권한을 보려면 사용자 계정을 사용하려면 다음 SHOW GRANTS문을 사용하세요.
SHOW GRANTS FOR 'api@localhost';
로그인 후 복사
로그인 후 복사
mysql 데이터베이스에 사용자를 추가하는 방법 *.*결과는 사용자 계정 < code class="bt-codespan ">dbadmin은 데이터베이스 서버에만 로그인할 수 있으며 다른 권한은 없습니다. 사용자에게 권한을 부여하려면 GRANT문을 사용하세요. 점 앞 부분( .)은 데이터베이스를 나타내고 점 뒤 부분( .<)을 나타냅니다. /code>) 테이블을 나타냅니다(예: database.table). 사용자 계정이 모든 호스트에서 연결되도록 허용하려면 백분율( %)와일드카드(다음 예 참조):
CREATE USER remote;
로그인 후 복사
로그인 후 복사
로그인 후 복사
백분율 와일드카드 %LIKE의 모든 하위 호스트에서 mysqladmin사용자 계정에 사용되는 것과 동일한 효과를 갖습니다. begtut.com호스트 도메인을 사용하여 데이터베이스 서버에 연결하려면 아래와 같이 백분율 와일드카드 %를 사용하세요.
ERROR 1396 (HY000): Operation CREATE USER failed for 'remote'@'%'
로그인 후 복사
로그인 후 복사
다음을 사용할 수도 있습니다. 백분율 와일드카드 CREATE USER문에 밑줄 와일드카드 문자 _를 사용하세요. 사용자 계정의 호스트 이름부분을 생략하면 MySQL은 이를 수락하고 사용자가 모든 호스트에서 연결할 수 있도록 허용합니다. 예를 들어, 다음 문은 모든 호스트에서 데이터베이스 서버에 연결할 수 있는 remote라는 새 사용자 계정을 생성합니다.
GRANT priv_type ON database.table TO user [IDENTIFIED BY [PASSWORD] 'password']
로그인 후 복사
로그인 후 복사
원격사용자 계정의 권한은 다음과 같습니다:
mysql> GRANT SELECT ON*.* TO 'test3'@localhost IDENTIFIED BY 'test3'; Query OK, 0 rows affected, 1 warning (0.01 sec)
로그인 후 복사
로그인 후 복사
mysql 데이터베이스에 사용자를 추가하는 방법실수로 사용자 계정 'username@hostname'을 참조하는 경우 MySQL은 사용자 username@hostname name을 생성하고 사용자가 예상한 것과 다를 수 있는 모든 호스트에서 연결할 수 있도록 허용합니다.

例如,以下语句创建一个api@localhost可以从任何主机连接到MySQL数据库服务器的新用户。

CREATE USER 'api@localhost';
로그인 후 복사
로그인 후 복사
SHOW GRANTS FOR 'api@localhost';
로그인 후 복사
로그인 후 복사

mysql 데이터베이스에 사용자를 추가하는 방법

如果您创建一个已存在的用户,MySQL将发出错误。例如,以下语句创建一个remote已存在的名为的用户帐户:

CREATE USER remote;
로그인 후 복사
로그인 후 복사
로그인 후 복사

MySQL发出以下错误消息:

ERROR 1396 (HY000): Operation CREATE USER failed for 'remote'@'%'
로그인 후 복사
로그인 후 복사

注意:CREATE USER语句只是一个没有权限的新用户帐户。如果要向用户授予权限,请使用GRANT语句。

2、使用MySQL GRANT 语句新建用户

虽然 CREATE USER 语句可以创建普通用户,但是这种方式不便授予用户权限。于是 MySQL 提供了 GRANT 语句。

使用 GRANT 语句创建用户的基本语法形式如下:

GRANT priv_type ON database.table TO user [IDENTIFIED BY [PASSWORD] 'password']
로그인 후 복사
로그인 후 복사

其中:

  • priv_type 参数表示新用户的权限;

  • database.table 参数表示新用户的权限范围,即只能在指定的数据库和表上使用自己的权限;

  • user 参数指定新用户的账号,由用户名和主机名构成;

  • IDENTIFIED BY 关键字用来设置密码;

  • password 参数表示新用户的密码。

示例:

下面使用 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!