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

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

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

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

CREATE USER &#39;api@localhost&#39;;
로그인 후 복사
로그인 후 복사
SHOW GRANTS FOR &#39;api@localhost&#39;;
로그인 후 복사
로그인 후 복사

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

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

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

MySQL发出以下错误消息:

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

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

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

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

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

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

其中:

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

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

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

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

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

示例:

下面使用 GRANT 语句创建名为 test3 的用户,主机名为 localhost,密码为 test3。该用户对所有数据库的所有表都有 SELECT 权限。SQL 语句和执行过程如下:

mysql> GRANT SELECT ON*.* TO &#39;test3&#39;@localhost IDENTIFIED BY &#39;test3&#39;;
Query OK, 0 rows affected, 1 warning (0.01 sec)
로그인 후 복사
로그인 후 복사

其中,“*.*” 表示所有数据库下的所有表。结果显示创建用户成功,且 test3 用户对所有表都有查询(SELECT)权限。

技巧:GRANT 语句是 MySQL 中一个非常重要的语句,它可以用来创建用户、修改用户密码和设置用户权限。教程后面会详细介绍如何使用 GRANT 语句修改密码、更改权限。

【相关推荐:mysql视频教程

위 내용은 mysql 데이터베이스에 사용자를 추가하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿