mysql 给用户添加访问,操作权限

本文介绍如何创建数据库,并为不同场景下的用户分配相应的操作权限,包括本地、远程及特定IP地址的权限配置方法。

创建数据库

create database 数据库名;

获取操作权限
grant all privileges on 数据库.* to 数据库@localhost identified by "密码" ;

获取远程访问操作权限
grant select,insert,update,delete,create,drop,alter on 数据库.* to 数据库@'%' identified by '密码';

获取本机操作权限

grant select,insert,update,delete,create,drop,alter on 数据库.* to 数据库@'127.0.0.1' identified by '密码';

刷新权限(必须),否则不生效


flush privileges;

在 Linux 系统下为 MySQL 用户添加数据库权限,可按以下操作进行: ### 登录 MySQL 使用 `root` 账户登录 MySQL: ```bash mysql -uroot -p ``` ### 选择数据库(可选) 若要为用户授予某个特定数据库的权限,需先选择该数据库: ```sql use testdb; ``` ### 授权并更新 授权操作完成后,必须更新数据库,否则不会生效。 #### 授予用户对特定数据库的所有权限 ```sql grant all privileges on testdb.* to testuser@'%' identified by '123456'; flush privileges; ``` `all privileges` 表示所有权限,也可具体设置成 `select`、`insert`、`update`、`delete`、`create` 等。数据库名字之后 `*` 代表整个数据库,若想让该用户对所有数据库操作,可改成 `*.*`。用户名之后 `%` 表示匹配所有主机,该地方也可设置成 `localhost`,代表只能本地访问[^3]。 #### 授予用户对特定数据库的部分权限 例如,仅授予 `select` 和 `insert` 权限: ```sql grant select, insert on testdb.* to testuser@'%' identified by '123456'; flush privileges; ``` #### 授予用户对所有数据库的所有权限 ```sql grant all privileges on *.* to testuser@'%' identified by '123456'; flush privileges; ``` ### 创建新用户并授予权限用户不存在,可先创建用户再授予权限。 创建用户只允许本地 IP 访问: ```sql create user 'lyy'@'localhost' identified by '123456'; grant all privileges on `testdb`.* to 'lyy'@'localhost' identified by '123456'; flush privileges; ``` 创建用户允许外围访问: ```sql create user 'lyy'@'%' identified by '123456'; grant all privileges on `testdb`.* to 'lyy'@'%' identified by '123456'; flush privileges; ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值