MySQL数据库创建用户及授权

本文围绕MySQL数据库展开,详细介绍了创建用户及授权的相关操作,包括创建用户时对用户名、主机、密码的设置,授权时操作权限、数据库名、表名的指定,还涉及设置更新密码、撤销用户权限以及删除用户等内容。

MySQL数据库创建用户及授权

1、创建用户

  • 命令
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
  • 说明

  • username:你将创建的用户名

  • host:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符%

  • password:该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器

  • 举例

CREATE USER 'liuxin'@'localhost' IDENTIFIED BY '123456';
CREATE USER 'liuxin'@'192.168.1.222' IDENDIFIED BY '123456';
CREATE USER 'liuxin'@'%' IDENTIFIED BY '123456';
CREATE USER 'liuxin'@'%' IDENTIFIED BY '';
CREATE USER 'liuxin'@'%';

2、授权

  • 命令
GRANT privileges ON db.table TO 'username'@'host'
  • 说明

  • privileges:用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL

  • db:数据库名

  • table:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用表示,如.*

  • 举例

GRANT SELECT, UPDATE ON test.user_info TO 'liuxin'@'%';
GRANT ALL ON *.* TO 'liuxin'@'%';
GRANT ALL ON test.* TO 'liuxin'@'%';

3、设置更新密码

  • 命令
更新其他用户密码
SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');

更新自己的密码
SET PASSWORD = PASSWORD("newpassword");

4、撤销用户权限

  • 命令
REVOKE privilege ON db.table FROM 'username'@'host';

注意:
1、假如在给用户'liuxin'@'%'授权的时候是这样:GRANT SELECT ON test.user TO 'liuxin'@'%',
则在使用REVOKE SELECT ON *.* FROM 'liuxin'@'%';命令并不能撤销该用户对test数据库中user表的SELECT 操作。
2、如果授权使用的是GRANT SELECT ON *.* TO 'liuxin'@'%',则REVOKE SELECT ON test.user FROM 'liuxin'@'%';
命令也不能撤销该用户对test数据库中user表的SELECT权限。
  • 例如
REVOKE UPDATE ON *.* FROM 'liuxin'@'%';

5、删除用户

  • 命令
DROP USER 'username'@'host';
### MySQL 创建数据库用户以及授权 #### 数据库创建MySQL 中,可以通过 `CREATE DATABASE` 命令来创建一个新的数据库。此命令允许指定字符集和排序规则以确保数据的一致性和兼容性。 以下是创建数据库的标准语法: ```sql CREATE DATABASE IF NOT EXISTS 数据库名 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; ``` 上述语句会检查是否存在同名数据库,如果不存在则创建数据库设置默认字符集为 `utf8mb4` 和排序规则为 `utf8mb4_general_ci`[^3]。 #### 用户创建 为了增强安全性,在实际应用中通常不会直接使用 root 账户访问数据库实例。而是通过创建新的账户来进行管理或开发工作。下面展示了一个典型的例子: 假设我们需要建立一个名为 cloudmusic 的远程用户(可以从任何主机连接),密码设为 "cloud123!!!" ,可以执行以下 SQL 语句完成该任务: ```sql CREATE USER 'cloudmusic'@'%' IDENTIFIED BY 'cloud123!!!'; ``` 这里 `'%'` 表示这个用户的来源地址不受限,即可以从任意 IP 地址登录到服务器上[^1]。 #### 权限授予 一旦建立了相应的数据库用户之后,就需要赋予这些新建用户足够的权限去操作他们负责的数据资源。比如给上面提到过的 cloudmusic 这个用户分配特定数据库上的增删改查等基本权利,则可以用如下指令实现: ```sql GRANT SELECT, INSERT, UPDATE, DELETE, CREATE ON 数据库名.* TO '用户名'@'host'; FLUSH PRIVILEGES; ``` 其中 FLUSH PRIVILEGES 是为了让更改立即生效而必需的一个步骤[^4]。 以上就是关于如何在 MySQL 环境里构建自己的专属空间——包括定义个性化存储区域(也就是我们常说的“数据库”);引入外部访客身份认证机制("用户");最后再根据实际情况调整其活动范围内的功能许可程度("授权")的整体流程概述。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值