>데이터 베이스 >MySQL 튜토리얼 >mysql에서 사용자 권한을 확인하는 방법

mysql에서 사용자 권한을 확인하는 방법

coldplay.xixi
coldplay.xixi원래의
2020-09-03 14:24:259692검색

mysql에서 사용자 권한을 확인하는 방법: 1. 특정 MySQL 사용자의 권한을 확인합니다. 구문은 [사용자 이름에 대한 부여 표시]입니다. 2. 데이터베이스 인증 방법을 사용합니다. 코드는 [GRANT 6edd86b17b9eea41baa88c90cbdefa74 ;뭐>

mysql에서 사용자 권한을 확인하는 방법

【관련 학습 권장 사항: mysql tutorial(동영상)】

Mysql 사용자 테이블 권한을 보는 방법:

(1) MySQL 사용자의 권한 보기 :

사용자 이름에 대한 부여 표시show grants for 用户名

MariaDB [neutron]> show grants for root;

(2)用GRANT命令建立新用户、设定用户密码、并增加用户权限。其格式如下:

mysql> GRANT <privileges> ON <what>  TO <user> [IDENTIFIED BY "<password>"]  [WITH GRANT OPTION];

例如:

GRANT ALL PRIVILEGES ON neutron.* TO &#39;neutron&#39;@&#39;localhost&#39;   IDENTIFIED BY &#39;NEUTRON_DBPASS&#39;;
GRANT ALL PRIVILEGES ON neutron.* TO &#39;neutron&#39;@&#39;%&#39;   IDENTIFIED BY &#39;NEUTRON_DBPASS&#39;;
  • neutron.* :表示neutron数据库中的所有表,授权之前neutron库要先创建好。如果用*.*表示所有库的所有表

  •  'neutron'@'localhost':表示创建的用户名neutron ,@后面表示允许访问数据的客户端,'localhost' 表示本机,'%'表示所有主机

  • [IDENTIFIED BY "cb1ebc435675187bdcfb539b370c2e37"]:是设定neutron用户密码

(3)数据库的授权方式

GRANT <privileges> ON <what>  TO <user> [IDENTIFIED BY "<password>"]  [WITH GRANT OPTION];

6edd86b17b9eea41baa88c90cbdefa74是一个用逗号分隔的你想要赋予的MySQL用户权限的列表。

你可以指定的权限可以分为三种类型:

1)数据库/数据表/数据列权限:

  • Alter: 修改已存在的数据表(例如增加/删除列)和索引。

  • Create: 建立新的数据库或数据表。

  • Delete: 删除表的记录。

  • Drop: 删除数据表或数据库。

  • INDEX: 建立或删除索引。

  • Insert: 增加表的记录。

  • Select: 显示/搜索表的记录。

  • Update: 修改表中已存在的记录。

mysql>grant select,insert,delete,create,drop  on *.* (或nova.*其它库或表) to &#39;用户名&#39;@&#39;localhost&#39;  identified by ‘密码’;

2)全局管理MySQL用户权限:

  • file: 在MySQL服务器上读写文件。

  • PROCESS: 显示或杀死属于其它用户的服务线程。

  • RELOAD: 重载访问控制表,刷新日志等。

  • SHUTDOWN: 关闭MySQL服务。

3)特别的权限:

  • ALL: 允许做任何事(和root一样)。

  • USAGE: 只允许登录--其它什么也不允许做。

在进行开发和实际应用中,用户不应该只用root用户进行连接数据库,虽然使用root用户进行测试时很方便,但会给系统带来重大安全隐患,也不利于管理技术的提高。

如一个只进行数据插入的用户不应赋予其删除数据的权限。MySql的用户管理是通过User表来实现的,添加新用户常用的方法有两个,一是在User表插入相应的数据行,同时设置相应的权限;二是通过GRANT命令创建具有某种权限的用户。其中GRANT的常用用法如下:  

grant all on mydb.* to NewUserName@HostName identified by “password”;  
grant usage on *.* to NewUserName@HostName identified by “password”;  
grant select,insert,update on mydb.* to NewUserName@HostName identified by “password”;  
grant update,delete on mydb.TestTable to NewUserName@HostName identified by “password”;

若要给此用户赋予他在相应对象上的权限的管理能力,可在GRANT后面添加WITH GRANT OPTIONrrreee

(2) GRANT 명령을 사용하여 새 사용자를 생성하고, 사용자 비밀번호를 설정하고, 사용자 권한을 높입니다.

형식은 다음과 같습니다:

rrreee

예:
rrreee
  • neutron.*: 중성자 데이터베이스, 중성자 라이브러리는 인증 전에 생성되어야 합니다. *.*를 사용하여 모든 라이브러리의 모든 테이블을 나타내는 경우

  • 'neutron'@'localhost': 생성된 사용자 이름 neutron을 나타내고 다음 @는 고객이 데이터 터미널에 액세스하도록 허용되었습니다. 'localhost'는 로컬 시스템을 의미하고 '%'는 모든 호스트를 의미합니다
  • [IDENTIFIED BY "cb1ebc435675187bdcfb539b370c2e37"]: Set neutron 사용자 비밀번호
🎜🎜 (3) 데이터베이스 인증 방법 🎜🎜rrreee🎜6edd86b17b9eea41baa88c90cbdefa74은 부여하려는 MySQL 사용자 권한의 쉼표로 구분된 목록입니다. . 🎜🎜지정할 수 있는 권한은 세 가지 유형으로 나눌 수 있습니다. 🎜🎜1) 데이터베이스/데이터 테이블/데이터 열 권한: 🎜
  • 🎜Alter: 수정 기존 데이터 테이블(예: 열 추가/삭제) 및 인덱스. 🎜
  • 🎜만들기: 새 데이터베이스 또는 데이터 테이블을 만듭니다. 🎜
  • 🎜삭제: 테이블의 기록을 삭제합니다. 🎜
  • 🎜삭제: 데이터 테이블이나 데이터베이스를 삭제합니다. 🎜
  • 🎜INDEX: 색인을 생성하거나 삭제합니다. 🎜
  • 🎜삽입: 테이블에 레코드를 추가합니다. 🎜
  • 🎜선택: 테이블의 기록을 표시/검색합니다. 🎜
  • 🎜업데이트: 테이블의 기존 레코드를 수정합니다. 🎜
rrreee🎜2) MySQL 사용자 권한의 전역 관리: 🎜
  • 🎜file: MySQL 서버에서 파일 읽기 및 쓰기 . 🎜
  • 🎜PROCESS: 다른 사용자에게 속한 서비스 스레드를 표시하거나 종료합니다. 🎜
  • 🎜RELOAD: 액세스 제어 목록 다시 로드, 로그 새로 고침 등 🎜
  • 🎜SHUTDOWN: MySQL 서비스를 종료합니다. 🎜
🎜3) 특별 권한: 🎜
  • 🎜ALL: 무엇이든 할 수 있습니다(루트와 동일). 🎜
  • 🎜USAGE: 로그인만 허용되며 다른 것은 허용되지 않습니다. 🎜
🎜개발 및 실제 적용 중에 사용자는 루트 사용자를 사용하여 데이터베이스에 연결해야 할 뿐만 아니라 테스트에 루트 사용자를 사용하는 것이 편리하지만 심각한 보안 위험을 초래합니다. 시스템과 경영기술 향상에도 도움이 되지 않습니다. 🎜🎜예를 들어 데이터 삽입만 하는 사용자에게 데이터 삭제 권한을 주면 안 됩니다. MySql 사용자 관리는 User 테이블을 통해 구현됩니다. 하나는 User 테이블에 해당 데이터 행을 삽입하고 해당 권한을 설정하는 것입니다. GRANT 명령. GRANT의 일반적인 사용법은 다음과 같습니다. 🎜rrreee🎜이 사용자에게 해당 개체에 대한 권한을 관리할 수 있는 기능을 부여하려면 GRANT 뒤에 WITH GRANT OPTION 옵션을 추가하면 됩니다. 🎜🎜User 테이블에 Insert하여 추가된 사용자의 경우 부주의한 사람이 비밀번호를 엿볼 수 없도록 비밀번호 필드를 업데이트하고 PASSWORD 기능을 사용하여 암호화해야 합니다. 🎜🎜더 이상 사용하지 않는 사용자는 삭제되어야 하며, 권한이 한도를 초과한 사용자는 즉시 회수되어야 합니다. 사용자 테이블의 해당 필드를 업데이트하거나 REVOKE 작업을 사용하여 권한을 회수할 수 있습니다. 🎜🎜🎜프로그래밍에 대해 더 자세히 알고 싶다면 🎜php training🎜 칼럼을 주목해주세요! 🎜🎜🎜

위 내용은 mysql에서 사용자 권한을 확인하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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