MySQL创建用户以及分配权限

之前有过一次被删库经历。还好被删的是测试库
数据的权限安全很重要。为了避免这种情况,有必要给不同的人分配不同的数据库的权限

比较简单:记录下就好:
查询nacos用户的具有哪些权限:
show grants for ‘nacos’@‘localhost’

创建一个test用户,可以从任意机器连接,其密码是 test123

create user 'test'@'%' identified by 'test123'

(这个时候是没有任何权限的。就是说只是挂了个用户,啥操作错不了)

给test用户赋予nacos_config数据库的增删改查权限

GRANT SELECT,UPDATE,DELETE,INSERT
ON nacos_config.*
TO 'test'@'%'

创建temp用户,并赋予所有表的读取权限。并且该用户可以从任意机器连接,设置密码为temp。这一般是有游客用的
(可以直接使用GRANT命令)

GRANT SELECT
ON *.*
TO 'temp'@'%' IDENTIFIED BY 'temp'

上面是常见使用场景。如果急着用可以直接使用
以上均是来自于《MySQL技术内幕(第四版)》 第12章 12.4节知识点:
讲得很清楚
懒得打字了。直接看书吧
链接:https://pan.baidu.com/s/1gnHcb1tpos9DR2KJbq_JOg
提取码:0l2g

### 如何在 MySQL创建用户分配权限 #### 创建用户MySQL 中,可以通过 `CREATE USER` 命令来创建新的用户账户。以下是具体的语法: ```sql CREATE USER 'username'@'host' IDENTIFIED BY 'password'; ``` - `'username'`: 新用户的名称。 - `'host'`: 定义该用户可以从哪个主机连接到数据库。可以指定为单个 IP 地址、域名或者通配符 `%` 表示任何主机[^4]。 - `'password'`: 设置登录密码。 例如,如果希望创建一个名为 `lyy` 的用户,并允许其从本地访问,则执行如下命令: ```sql CREATE USER 'lyy'@'localhost' IDENTIFIED BY '123456'; ``` 而为了使此用户能够从任意远程地址访问数据库,应改为以下语句: ```sql CREATE USER 'lyy'@'%' IDENTIFIED BY '123456'; ``` #### 刷新权限表 每当修改了用户定义或权限配置之后,都需要运行 `FLUSH PRIVILEGES` 来重新加载这些更改至内存中以便立即生效。 ```sql FLUSH PRIVILEGES; ``` #### 分配权限 一旦创建用户后,就可以利用 `GRANT` 语句赋予相应的权限。基本形式如下所示: ```sql GRANT privileges_type ON database_name.table_name TO 'username'@'host' [IDENTIFIED BY 'password']; ``` 这里有一些常见的例子展示不同类型的权限授予方式: - **给予某个特定数据库的所有权限** ```sql GRANT ALL PRIVILEGES ON testdb.* TO 'lyy'@'%'; ``` - **给予全局范围内的全部权限(谨慎使用)** ```sql GRANT ALL PRIVILEGES ON *.* TO 'lyy'@'%'; ``` 注意,在某些情况下可能还需要再次确认刷新特权以确保最新设定被应用上去了。 以上就是关于如何在MySQL里头建立新使用者帐号连同指派适当存取权能的相关指导说明[^1][^2][^3].
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值