>  기사  >  데이터 베이스  >  MySQL에서 사용자를 추가, 삭제 및 승인하는 방법에 대한 간략한 설명

MySQL에서 사용자를 추가, 삭제 및 승인하는 방법에 대한 간략한 설명

青灯夜游
青灯夜游앞으로
2021-10-08 18:49:532294검색

이 글에서는 MySQL의 사용자 관리에 대해 소개하고, 사용자 추가, 권한 부여, 삭제 방법을 소개하겠습니다. 도움이 되셨으면 좋겠습니다!

MySQL에서 사용자를 추가, 삭제 및 승인하는 방법에 대한 간략한 설명

애플리케이션 데이터를 관리하기 위해 루트 사용자를 직접 사용하지 마세요. [관련 권장사항: root 用户管理应用数据。【相关推荐:mysql视频教程

添加用户

以root用户登录数据库,运行以下命令:

create user zhangsan identified by 'zhangsan';

上面的命令创建了用户 zhangsan, 密码是 zhangsan. 在 mysql.user 表里可以查看到新增用户的信息:

select User, Host, Password from mysql.user where User = 'zhangsan';

授权

命令格式: grant privilegesCode on dbName.tableName to username@host identified by "password";

grant all privileges on zhangsanDb.* to zhangsan@'%' identified by 'zhangsan';
flush privileges;

上面的语句将 zhangsanDb 数据库的所有操作权限都授权给了用户 zhangsan.

mysql.db 表里可以查看到新增数据库权限的信息:

select User, Db, Host, Select_priv, Insert_priv, Update_priv, Delete_priv from mysql.db where User = 'zhangsan';

也可以通过 show grants 命令查看权限授予执行的命令:

show grants for 'zhangsan';

privilegesCode 表示授予的权限类型, 常用的有以下几种类型[1]

  • all privileges: 所有权限
  • select: 读取权限
  • delete: 删除权限
  • update: 更新权限
  • create: 创建权限
  • drop: 删除数据库、数据表权限

dbName.tableName 表示授予权限的具体库或表, 常用的有以下几种选项

  • .: 授予该数据库服务器所有数据库的权限
  • dbName.*: 授予dbName数据库所有表的权限
  • dbName.dbTable: 授予数据库dbName中dbTable表的权限

username@host 表示授予的用户以及允许该用户登录的IP地址. 其中Host有以下几种类型

  • localhost: 只允许该用户在本地登录, 不能远程登录
  • %: 允许在除本机之外的任何一台机器远程登录
  • 192.168.52.32: 具体的 IP 表示只允许该用户从特定IP登录.

password 指定该用户登录时的密码

flush privileges 表示刷新权限变更

修改密码

运行以下命令可以修改用户密码:

update mysql.user set password = password('zhangsannew') where user = 'zhangsan' and host = '%';
flush privileges;

删除用户

运行以下命令可以删除用户:

drop user zhangsan@'%';

drop user 命令会删除用户以及对应的权限, 执行命令后你会发现 mysql.user 表和 mysql.db 表的相应记录都消失了.

常用命令组

创建用户并授予指定数据库全部权限

适用于Web应用创建MySQL用户

create user zhangsan identified by 'zhangsan';
grant all privileges on zhangsanDb.* to zhangsan@'%' identified by 'zhangsan';
flush privileges;

创建了用户 zhangsan , 并将数据库 zhangsanDB 的所有权限授予 zhangsan。如果要使 zhangsan 可以从本机登录,那么可以多赋予 localhostmysql 동영상 튜토리얼

]

사용자 추가

데이터베이스에 루트 사용자로 로그인하고 다음 명령을 실행하세요. :
grant all privileges on zhangsanDb.* to zhangsan@'localhost' identified by 'zhangsan';
위 명령은 zhangsan 사용자를 생성하며, 비밀번호는 zhangsan입니다. mysql.user에서 새로운 사용자 정보를 확인할 수 있습니다. 테이블: 🎜rrreee

허용

🎜명령 형식: dbName.tableName에 대한 특권 코드를 "비밀번호"로 식별되는 사용자 이름@호스트에게 부여 ;🎜rrreee🎜위 명령문은 zhangsanDb 데이터베이스의 모든 작업 권한을 zhangsan 사용자에게 부여합니다.🎜🎜mysql.db code> 테이블 새 데이터베이스 권한에 대한 정보를 볼 수 있습니다:🎜rrreee🎜또한 <code>show grants 명령을 통해 권한 부여에 의해 실행된 명령을 볼 수도 있습니다:🎜rrreee

privilegesCode는 부여된 권한 유형을 나타냅니다. 일반적으로 사용되는 유형은 다음과 같습니다. [1]

  • 모든 권한: 모든 권한
  • 선택: 읽기 권한
  • 삭제: 삭제 권한
  • 업데이트: 업데이트 권한
  • li>
  • create: 생성 권한
  • drop: 데이터베이스 및 데이터 테이블 삭제 권한

dbName.tableName은 권한이 부여된 특정 라이브러리 또는 테이블을 나타냅니다. 다음 옵션이 일반적으로 사용됩니다.

  • .: 이 데이터베이스 서버의 모든 데이터베이스에 권한을 부여합니다.
  • dbName.*: dbName 데이터베이스의 모든 테이블에 권한을 부여합니다.
  • dbName.dbTable: dbName 데이터베이스의 dbTable 테이블에 권한을 부여합니다.

username@host code>는 부여된 사용자와 해당 사용자가 로그인할 수 있는 IP 주소를 나타냅니다. 호스트에는 다음과 같은 유형이 있습니다

  • localhost: 사용자만 로그인이 허용됩니다. 원격 로그인이 아닌 로컬 로그인
  • %: 모든 컴퓨터에서 원격 로그인을 허용합니다. 이 기계는 제외
  • 192.168.52.32: 특정 IP는 사용자가 특정 IP에서만 로그인이 허용된다는 의미입니다.
  • 비밀번호 로그인할 사용자의 비밀번호를 지정합니다.

    권한 플러시 새로 고침 권한 변경을 나타냅니다. Strong>

    비밀번호 변경 Strong>

    🎜다음 명령을 실행하여 사용자 비밀번호를 변경하세요:🎜rrreee

    사용자 삭제

    🎜다음 명령을 실행하여 사용자 삭제:🎜rrreee🎜drop user 이 명령은 사용자와 해당 권한을 삭제합니다. 명령을 실행하면 mysql.user에서 해당 레코드를 찾을 수 있습니다. code> 테이블과 <code>mysql.db 테이블이 사라졌습니다.🎜

    공통 명령 그룹

    사용자 생성 및 지정된 데이터베이스에 대한 전체 권한 부여

    🎜웹 애플리케이션용 MySQL 사용자 생성에 적합🎜rrreee 🎜생성된 사용자 zhangsan zhangsanDB 데이터베이스에 대한 모든 권한을 zhangsan에 부여했습니다. zhangsan이 이 컴퓨터에서 로그인할 수 있도록 하려면 localhost에 추가 권한을 부여할 수 있습니다: 🎜rrreee🎜[관련 권장 사항: 🎜mysql 비디오 튜토리얼🎜]🎜

    위 내용은 MySQL에서 사용자를 추가, 삭제 및 승인하는 방법에 대한 간략한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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