>  기사  >  데이터 베이스  >  MySQL의 사용자 생성 및 권한 관리 요약 및 공유

MySQL의 사용자 생성 및 권한 관리 요약 및 공유

WBOY
WBOY앞으로
2022-09-02 16:59:462066검색

추천 학습: mysql 비디오 튜토리얼

1. 사용자 관리

MySQL 사용자 생성 mysql库里有个user表

에서 생성된 사용자를 볼 수 있습니다. 참고:
단순히 사용자를 사용할 수는 없습니다. MySQL의 이름 사용자를 설명하려면 호스트를 추가해야 합니다. 예:

hhy@10.1.1.1

기본 구문:

mysql> create user '用户名'@'被允许连接的主机名称或主机的IP地址' identified by '用户密码';
mysql> select user,host from mysql.user;
사례:

MySQL 계정 만들기, 사용자 이름: hhy, 사용자 비밀번호: 123

mysql> create user 'hhy'@'localhost' identified by '123';
/*或*/
mysql> create user 'hhy'@'127.0.0.1' identified by '123';
사례:

MySQL 계정 만들기(필수) 원격 연결 열기), 호스트 IP 주소: 192.1668.44.110, 사용자 이름: test, 사용자 비밀번호: 123

mysql> create user 'test'@'192.1668.44.110' identified by '123';
테스트:

IP 주소가 192.168.44.110

# yum install mysql -y
# mysql -h 192.168.44.110 -P 3306 -uharry -p
Enter password:123
인 호스트에서 옵션 설명:

192.168.44.110 : MySQL 서버의 IP 주소

yum install mysql:
는 MySQL 클라이언트가 설치되었음을 의미합니다.

yum install mysql-server: 는 MySQL 서버가 설치되었음을 의미합니다.

사례:
Create a MySQL Account(필수) 원격 연결 열기), 호스트 IP 네트워크 세그먼트: 10.1.1.0, 사용자 이름: jack, 사용자 비밀번호: 123

create user 'jack'@'192.168.44.%' identified by '123'
사례:

MySQL 계정 생성(원격 연결 열기 필요), 모든 호스트에 공개되어야 함, 사용자 이름: root, 사용자 비밀번호: 123

create user 'root'@'%' identified by '123';
2. MySQL 사용자 삭제

기본 사용자:

mysql> drop user 'username'@'호스트 이름 또는 호스트의 IP 주소';

특별 참고 사항:

사용자 삭제 시 호스트 이름이나 호스트 IP 주소를 지정하지 않으면 기본적으로 해당 계정에 대한 모든 정보가 삭제됩니다.

Case:

Delete hhy account

drop user 'hhy'@'localhost';
Case:

Delete jack account

drop user 'jack'@'192.168.44.%';
Case:

두 개의 해리 계정(localhost/10.1.1.23)을 만든 다음 그 중 하나를 삭제합니다.

mysql> create user 'harry'@'localhost' identified by '123';
mysql> create user 'harry'@'192.168.44.110' identified 

mysql> drop user 'harry'@'192.168.44.110';
다른 방법 MySQL 계정 삭제
mysql> delete from mysql.user where user='root' and host='%';
mysql> flush privileges;

3. MySQL 사용자 수정

특별 지침:

MySQL 사용자 이름 변경은 일반적으로 두 부분을 변경할 수 있습니다. 하나는 사용자 이름이고 다른 하나는 호스트 또는 호스트 이름입니다. IP 주소에 액세스할 수 있습니다.

기본 구문:

mysql> rename user 旧用户信息 to 新用户信息;
사례:

사용자 'root'@'%'를 'root'@'10.1.1.%'

mysql> rename user 'root'@'%' to 'root'@'10.1.1.%';
사례:

Change 'harry'@'localhost ' 'hhy'@'localhost'로 이름 변경

mysql> create user 'tom'@'localhost' identified by '123';
mysql> rename user 'tom'@'localhost' to 'hhy'@'localhost';
업데이트 문을 사용하여 사용자 정보 업데이트
mysql> update mysql.user set user='hhy',host='localhost' where user='tom' and host='localhost';

mysql> flush privileges;

2. 권한 관리

1. 권한 설명

모든 권한 설명

USAGE	无权限,只有登录数据库,只可以使用test或test_*数据库
ALL		所有权限
以下权限为指定权限
select/update/delete/super/replication slave/reload...
with grant option 选项表示允许把自己的权限授予其它用户或者从其他用户收回自己的权限

기본적으로 다음과 같은 경우 권한이 없는 경우 권한 할당 권한 부여 옵션을 지정하면 이 사용자는 다른 사용자에게 권한을 부여할 수 없지만 이 권한 할당은 자신의 권한을 초과할 수 없습니다.

2. 권한 저장 위치(이해)

mysql.user:
    모든 mysql 사용자의 계정 및 비밀번호, 전체 데이터베이스 및 테이블에 대한 사용자 권한(*.*)
  • mysql.db :
  • Non mysql 라이브러리의 권한은 여기에 저장됩니다(db.*)
  • mysql.table_priv :
  • 특정 라이브러리의 특정 테이블에 대한 권한(db.table)
  • mysql.columns_priv :
  • 특정 열의 권한 특정 라이브러리의 특정 테이블(db .table.col1)
  • mysql.procs_priv :
  • 특정 라이브러리의 저장 프로시저 승인
  • 3. 사용자 승인

데이터베이스 테이블 생성:

create database java;
use java;
create table tb_student(
	id mediumint not null auto_increment,
	name varchar(20),
	age tinyint unsigned default 0,
	gender enum('男','女'),
	address varchar(255),
	primary key(id)
) engine=innodb default charset=utf8;

insert into tb_student values (null,'刘备',33,'男','湖北省武汉市');
insert into tb_student values (null,'貂蝉',18,'女','湖南省长沙市');
insert into tb_student values (null,'关羽',32,'男','湖北省荆州市');
insert into tb_student values (null,'大乔',20,'女','河南省漯河市');
insert into tb_student values (null,'赵云',25,'男','河北省石家庄市');
insert into tb_student values (null,'小乔',18,'女','湖北省荆州市');
기본 구문:

mysql> grant 权限1,权限2 on 库.表 to 用户@主机
mysql> grant 权限(列1,列2,...) on 库.表 to 用户@主机
Library.table 표현 방법: *.*는 모든 데이터베이스의 모든 데이터 테이블을 나타내고, db_itheima.*는 db_itheima 데이터베이스의 모든 데이터 테이블을 나타내며, db_itheima.tb_admin은 db_itheima 데이터베이스의 tb_admin 테이블을 나타냅니다.

사례:
계정에 Java 데이터베이스 할당 쿼리 권한

mysql> grant select on java.* to 'hehanyu'@'192.168.44.%';

mysql> flush privileges;
사례:

java.tb_student 데이터 테이블에 대한 권한을 hehanyu 계정에 할당(연령 필드만 변경해야 함)

mysql> grant update(age) on java.tb_student to 'hehanyu'@'192.168.44.%';

mysql> flush privileges;
사례:

root@% 계정을 추가한 다음 모든 권한을 할당하세요

create user 'root'@'%' identified by '123';
grant all on *.* to 'root'@'%';
flush privileges;
4. 사용자 권한 쿼리

현재 사용자 권한 쿼리:

mysql> show grants;
다른 사용자 권한 쿼리:

mysql> show grants for '用户名称'@'授权的主机名称或IP地址';
5. 부여 옵션 옵션
mysql> grant all on *.* to 'amy'@'10.1.1.%' identified by '123' with grant option;
mysql> grant all on *.* to 'harry'@'10.1.1.%' identified by '123';

위 명령에서 볼 수 있듯이

amy는 권한 부여 기능을 가지고 있고, Harry는 권한 발급 기능을 가지고 있지 않습니다.

승인 권한에 부여 옵션 옵션이 없으면 다른 사용자에게 권한을 부여할 수 없습니다.

6.권한을 복구하려면 취소

기본 구문:

revoke 权限 on 库.表 from 用户;
查看hehanyu用户权限
mysql> show grants for 'hehanyu'@'192.168.44.%';
撤消指定的权限
mysql> revoke update on java.tb_student from 'tom'@'192.168.44.%';
撤消所有的权限
mysql> revoke select on java.* from 'tom'@'192.168.44.%';

推荐学习:mysql视频教程

위 내용은 MySQL의 사용자 생성 및 권한 관리 요약 및 공유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 jb51.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제