博客
关于我
mysql权限
阅读量:790 次
发布时间:2023-02-12

本文共 1830 字,大约阅读时间需要 6 分钟。

MySQL 用户管理详细指南

一、创建用户

命令

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

说明

  • username:指定创建的用户名。
  • host:指定该用户登录的主机,支持localhost192.168.1.101等具体IP地址或使用通配符%表示允许从任意远程主机登录。
  • password:用户的登录密码,密码可为空(''),则用户无需提供密码即可登录。

示例

CREATE USER 'dog'@'localhost' IDENTIFIED BY '123456';CREATE USER 'pig'@'192.168.1.101' IDENTIFIED BY '123456';CREATE USER 'pig'@'%' IDENTIFIED BY '123456';  # 允许从任意远程主机登录CREATE USER 'pig'@'%' IDENTIFIED BY '';  # 无需密码登录CREATE USER 'pig'@'%';  # 无需密码登录,用户可从任意主机登录

二、授权权限

命令

GRANT privileges ON databasename.tablename TO 'username'@'host';

说明

  • privileges:用户可获得的权限,如SELECTINSERTUPDATE等,需用ALL表示授予所有权限。
  • databasename:目标数据库名称。
  • tablename:目标表名,使用*表示所有数据库和表,如*.*表示所有数据库和所有表。
  • GRANT OPTION:可让用户进一步授权他人。

示例

GRANT SELECT, INSERT ON test.user TO 'pig'@'%';GRANT ALL ON *.* TO 'pig'@'%';  # 授予所有权限GRANT ALL ON maindataplus.* TO 'pig'@'%';

注意事项

  • 使用GRANT ... ON *.*时,REVOKE ... ON *.*无法撤销特定数据库的权限,需使用具体数据库和表名称。
  • 查看详细授权信息可用命令:SHOW GRANTS FOR 'username'@'host';

三、设置或更改用户密码

命令

SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');

当前登录用户使用

SET PASSWORD = PASSWORD("newpassword");

示例

SET PASSWORD FOR 'pig'@'%' = PASSWORD("123456");

四、撤销用户权限

命令

REVOKE privilege ON databasename.tablename FROM 'username'@'host';

说明

  • privilegedatabasenametablename:与授权部分一致。
  • 使用REVOKE时需确保权限是通过GRANT授予的,否则可能产生错误。

示例

REVOKE SELECT ON *.* FROM 'pig'@'%';  # 撤销所有数据库的SELECT权限

注意事项

  • 如果用户被授予的是GRANT SELECT ON test.user,则需使用REVOKE SELECT ON test.user才能撤销该权限。
  • 使用SHOW GRANTS FOR 'username'@'host';查看详细权限信息。

五、删除用户

命令

DROP USER 'username'@'host';

注意事项

  • 删除用户前确保用户没有依赖其权限的其他用户或资源。
  • 删除用户后,该用户无法再登录数据库。

六、常见操作示例

1. 赋予权限给特定用户

GRANT INSERT, SELECT, UPDATE, DELETE ON hos_op_view.* TO 'oig20186'@'%' IDENTIFIED BY 'fg9ol.*IK<64g';

2. 查看用户权限记录

SELECT * FROM mysql.db WHERE `User` = 'oig20186';

3. 刷新权限

FLUSH PRIVILEGES;

通过以上命令,用户可以轻松管理MySQL数据库中的用户权限和密码,确保数据库安全和高效运行。

转载地址:http://gndfk.baihongyu.com/

你可能感兴趣的文章
mysqlreport分析工具详解
查看>>
MySQL一个表A中多个字段关联了表B的ID,如何关联查询?
查看>>
MYSQL一直显示正在启动
查看>>
MySQL一站到底!华为首发MySQL进阶宝典,基础+优化+源码+架构+实战五飞
查看>>
MySQL万字总结!超详细!
查看>>
mysql中cast() 和convert()的用法讲解
查看>>
MySQL中group by 与 order by 一起使用排序问题
查看>>
mysql中having的用法
查看>>
mysql中json_extract的使用方法
查看>>
MySQL中的count函数
查看>>
MySQL中的DECIMAL类型:MYSQL_TYPE_DECIMAL与MYSQL_TYPE_NEWDECIMAL详解
查看>>
MySQL中的GROUP_CONCAT()函数详解与实战应用
查看>>
MySQL中的ON DUPLICATE KEY UPDATE详解与应用
查看>>
mysql中的rbs,SharePoint RBS:即使启用了RBS,内容数据库也在不断增长
查看>>
mysql中的undo log、redo log 、binlog大致概要
查看>>
Mysql中的using
查看>>
MySQL中的关键字深入比较:UNION vs UNION ALL
查看>>
Mysql主从不同步
查看>>
mysql主从同步及清除信息
查看>>
MySQL主从篇:死磕主从复制中数据同步原理与优化
查看>>