博客
关于我
MySQL创建用户与授权
阅读量:796 次
发布时间:2023-02-12

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

MySQL用户管理指南:从创建到权限管理

在数据库管理中,用户的创建、权限管理和密码设置是日常任务的重要环节。本文将详细介绍如何在MySQL中完成这些操作,并提供实用的示例和注意事项。


一、创建用户

在MySQL中创建新用户的命令为:

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

参数说明:

  • username:新用户的登录名。
  • host:指定用户可以登录的主机。如果是本地用户,可使用localhost127.0.0.1
  • 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 '';

二、授权权限

使用GRANT命令为用户授予操作权限:

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

参数说明:

  • privileges:用户的操作权限,如SELECTINSERTUPDATE等。
  • databasename:数据库名称。
  • tablename:表名。
  • username:目标用户。

示例:

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

注意事项:

  • 如果想让用户可以授权其他用户权限,需在GRANT命令中添加WITH GRANT OPTION
  • 使用*.*表示授予所有数据库和表的权限。

三、设置或更改用户密码

修改用户密码的命令为:

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

示例:

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

四、撤销权限

使用REVOKE命令取消授权:

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

示例:

REVOKE SELECT ON *.* FROM 'pig'@'%';

注意事项:

  • 撤销权限时,需确保用户曾经获得过相应权限。
  • 建议使用SHOW GRANTS FOR 'username'@'host';查看用户权限状态。

五、删除用户

删除用户的命令为:

DROP USER 'username'@'host';

示例:

DROP USER 'pig'@'%';

注意事项:

  • 删除用户前,确保用户没有重要数据或权限,避免数据丢失或权限泄露。

总结

通过以上命令,您可以轻松完成MySQL用户的创建、权限管理、密码设置和删除操作。记得在实际操作中谨慎使用这些命令,确保不误删用户或权限。

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

你可能感兴趣的文章
mysql批量update优化_Mysql中,21个写SQL的好习惯,你值得拥有呀
查看>>
mysql批量update操作时出现锁表
查看>>
MYSQL批量UPDATE的两种方式
查看>>
mysql批量修改字段名(列名)
查看>>
MySQL批量插入数据遇到错误1213的解决方法
查看>>
mysql技能梳理
查看>>
MySQL报Got an error reading communication packets错
查看>>
Mysql报错Can‘t create/write to file ‘/tmp/#sql_3a8_0.MYD‘ (Errcode: 28 - No space left on device)
查看>>
MySql报错Deadlock found when trying to get lock; try restarting transaction 的问题解决
查看>>
MySQL报错ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘
查看>>
Mysql报错Packet for query is too large问题解决
查看>>
mysql报错级别_更改MySQL日志错误级别记录非法登陆(Access denied)
查看>>
Mysql报错:too many connections
查看>>
MySQL报错:无法启动MySQL服务
查看>>
mysql授权用户,创建用户名密码,授权单个数据库,授权多个数据库
查看>>
mysql排序查询
查看>>
MySQL排序的艺术:你真的懂 Order By吗?
查看>>
MySQL排序的艺术:你真的懂 Order By吗?
查看>>
Mysql推荐书籍
查看>>
Mysql插入数据从指定选项中随机选择、插入时间从指定范围随机生成、Navicat使用存储过程模拟插入测试数据
查看>>