MySQL创建用户,并授权

本文详细介绍了如何在MySQL中使用CREATEUSER和GRANT语句创建用户并分配test_db数据库的查询权限,包括本地和远程访问,以及IDENTIFIEDBY关键字在设置密码和加密方式中的作用,强调了正确配置密码对于数据库安全的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

举例:
在MySQL中可以通过以下语句创建用户并授予对test_db数据库中所有表的查询权限:

CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'password';

GRANT SELECT ON test_db.* TO 'testuser'@'localhost';

具体步骤:

  1. 使用CREATE USER语句创建名为testuser的用户,设置密码为password。

  2. 使用GRANT语句给testuser用户授予test_db数据库中所有表(test_db.*)的SELECT权限。

  3. 该用户可以使用以下SQL来查询test_db库下的表:

SELECT * FROM test_db.table1;

SELECT * FROM test_db.table2;

如果要远程访问,可以将’localhost’改为’%':

CREATE USER 'testuser'@'%' IDENTIFIED BY 'password';

GRANT SELECT ON test_db.* TO 'testuser'@'%';

MySQL的用户管理和权限控制非常灵活,可以对不同的用户准确地授予所需的数据库访问权限。

解释:
在 MySQL 中,IDENTIFIED BY 'password' 是在创建用户时用来指定该用户的登录密码的语法。

示例:

CREATE USER 'db_user'@'localhost' IDENTIFIED BY '1234';

这里我们创建了一个名为db_user的用户,其登录密码被设置为1234。

IDENTIFIED BY 后跟的明文密码会被 MySQL 加密后存入 user 表中。

用户在登录时需要提供正确的密码才能通过验证。

MySQL 加密密码的方式有:

  • MySQL原生密码 - 使用 MySQL 自己的密码加密方法
  • SHA256密码 - 使用SHA256哈希算法加密
  • 兼容模式 - 同时支持原生和SHA256密码

可以在创建用户时指定密码加密方式:

CREATE USER 'db_user'@'localhost' IDENTIFIED WITH mysql_native_password BY '1234';

CREATE USER 'db_user'@'localhost' IDENTIFIED BY '1234' PASSWORD EXPIRE; # 启用过期密码插件

所以,IDENTIFIED BY 为MySQL提供的设置用户密码的标准语法,非常常用。

正确设置密码能确保数据库安全性。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值