博客
关于我
MySQL创建用户与授权
阅读量:790 次
发布时间: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与Informix数据库中的同义表创建:深入解析与比较
查看>>
mysql与mem_细说 MySQL 之 MEM_ROOT
查看>>
MySQL与Oracle的数据迁移注意事项,另附转换工具链接
查看>>
mysql丢失更新问题
查看>>
MySQL两千万数据优化&迁移
查看>>
MySql中 delimiter 详解
查看>>
MYSQL中 find_in_set() 函数用法详解
查看>>
MySQL中auto_increment有什么作用?(IT枫斗者)
查看>>
MySQL中B+Tree索引原理
查看>>
mysql中cast() 和convert()的用法讲解
查看>>
mysql中datetime与timestamp类型有什么区别
查看>>
MySQL中DQL语言的执行顺序
查看>>
mysql中floor函数的作用是什么?
查看>>
MySQL中group by 与 order by 一起使用排序问题
查看>>
mysql中having的用法
查看>>
MySQL中interactive_timeout和wait_timeout的区别
查看>>
mysql中int、bigint、smallint 和 tinyint的区别、char和varchar的区别详细介绍
查看>>
mysql中json_extract的使用方法
查看>>
mysql中json_extract的使用方法
查看>>
mysql中kill掉所有锁表的进程
查看>>