mysql中的用户创建、授权、所有用户/权限查询及用户删除

前文: 本文主要简单整理在mysql中,对数据库进行操作前的相关知识点

1.创建用户

(1)语法

CREATE USER 'username'@'host' IDENTIFIED BY 'password';

-> 其中'username'@'host'表示'用户名'@'特定的主机IP地址', 如果想要创建的用于可以用于所有远程主机登录可以使用%符号, 即"username"@'%'
-> 'password'表示登录的密码
例如:
CREATE USER 'username'@'192.168.5.110' IDENTIFIED BY 'admin12345';  # 特定主机ip登录
CREATE USER 'username'@'%' IDENTIFIED BY 'admin12345';  # 所有远程主机ip登录


2.授予创建的用户权限

(1)数据库中权限类型:

a.赋予用户对数据库或表的操作权限:

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE, CREATE ROLE, DROP ROLE ON *.* TO `mysite`@`%` 

b.对数据库不同的管理和操作能力权限:

GRANT APPLICATION_PASSWORD_ADMIN,AUDIT_ABORT_EXEMPT,AUDIT_ADMIN,AUTHENTICATION_POLICY_ADMIN,BACKUP_ADMIN,BINLOG_ADMIN,BINLOG_ENCRYPTION_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,ENCRYPTION_KEY_ADMIN,FIREWALL_EXEMPT,FLUSH_OPTIMIZER_COSTS,FLUSH_STATUS,FLUSH_TABLES,FLUSH_USER_RESOURCES,GROUP_REPLICATION_ADMIN,GROUP_REPLICATION_STREAM,INNODB_REDO_LOG_ARCHIVE,INNODB_REDO_LOG_ENABLE,PASSWORDLESS_USER_ADMIN,PERSIST_RO_VARIABLES_ADMIN,REPLICATION_APPLIER,REPLICATION_SLAVE_ADMIN,RESOURCE_GROUP_ADMIN,RESOURCE_GROUP_USER,ROLE_ADMIN,SENSITIVE_VARIABLES_OBSERVER,SERVICE_CONNECTION_ADMIN,SESSION_VARIABLES_ADMIN,SET_USER_ID,SHOW_ROUTINE,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN,TABLE_ENCRYPTION_ADMIN,TELEMETRY_LOG_ADMIN,XA_RECOVER_ADMIN ON *.* TO `mysite`@`%` 

(2)授权:

GRANT SELECT, UPDATA, INSERT, DELETE ON "database"."table" TO 'username'@'host';

-> 其中'SELECT, UPDATA, INSERT, DELETE', 表示授予指定的相关权限;

GRANT ALL PRIVILEGES ON "database"."table" TO 'username'@'host';

-> 其中'ALL PRIVILEGES',表示要授予所有权限
-> 其中"database"."table", 表示在指定的数据库的某个表中进行授权

GRANT ALL PRIVILEGES ON '*'.'*' TO 'username'@'host';

-> 其中'*'.'*', 表示在所有数据库的所有表中进行授权

FLUSH PRIVILEGES;

-> 每次授予权限后需要更新权限列表;

3.查询数据库中的所有用户表

(1)管理员登录

查询之前需要采用管理员root登入数据库或者采用你已经授予ALL PRIVILEGES ON '*'.'*'的用户登入

mysql -u root -p -P 3306

(2)查询mysql中所有的用户及主机

SELECT User, Host from mysql.user;

(3)查看权限

根据已经查询到的所有用户, 可以查看每一个用户已经拥有的权限

SHOW GRANTS FOR 'username'@'host';

4.删除已经存在的用户

DROP USER 'username'@'host';

-> 注意:在进行任何删除操作之前,请确保你完全理解其后果,并备份重要的数据。
同时,确保只有在必要时才删除用户,并且遵循安全最佳实践

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值