mysql给用户赋予权限语句
时间: 2023-06-29 09:16:57 浏览: 51
给用户赋予MySQL权限的语句如下:
```
GRANT 权限 ON 数据库.* TO '用户名'@'主机名' IDENTIFIED BY '密码';
```
其中,`权限`是指需要授予的权限,比如`SELECT`、`INSERT`、`UPDATE`等;`数据库`是指需要授权的数据库名;`用户名`是指需要授权的用户的用户名;`主机名`是指用户的登录主机,可以使用`%`表示所有主机;`密码`是用户的登录密码。
举个例子,如果要给用户`user1`授予在`testdb`数据库中执行`SELECT`和`INSERT`操作的权限,并且在所有主机上都可以登录,密码为`123456`,则可以执行以下SQL语句:
```
GRANT SELECT, INSERT ON testdb.* TO 'user1'@'%' IDENTIFIED BY '123456';
```
执行完该语句后,用户`user1`就可以在任何主机上使用`123456`密码登录MySQL,并且在`testdb`数据库中执行`SELECT`和`INSERT`操作。
相关问题
mysql给用户赋予admin权限
在MySQL中,为了给用户赋予管理员权限,你需要通过GRANT语句在`mysql`数据库下的`权限表`上操作。以下是步骤:
1. 登录到MySQL服务器作为有管理权限的用户(如root):
```
mysql -u root -p
```
输入密码。
2. 执行GRANT命令:
```sql
GRANT ALL PRIVILEGES ON *.* TO 'new_username'@'%' IDENTIFIED BY 'password';
```
这里 `new_username` 是你要赋予管理员权限的新用户名,`%` 表示任何主机都可以连接(如果只想限制特定IP,可以替换为具体的IP地址)。`ALL PRIVILEGES`表示拥有所有的数据库和表的操作权限。
3. 如果你想让这个权限只对某个特定数据库有效,可以将`*.*`替换为`database_name.*`,例如:
```sql
GRANT ALL PRIVILEGES ON database_name.* TO 'new_username'@'%' IDENTIFIED BY 'password';
```
4. 最后,应用更改:
```sql
FLUSH PRIVILEGES;
```
5. 验证权限是否已生效:
```sql
SHOW GRANTS FOR 'new_username'@'%';
```
mysql创建用户赋予权限
在MySQL中,创建用户并给予权限可以通过以下步骤完成:
1. 使用CREATE USER语句创建用户,语法如下:CREATE USER 'username'@'host' [IDENTIFIED BY 'password']; 其中,'username'是要创建的用户名,'host'是允许用户访问的主机,可以是具体IP地址或者通配符%,IDENTIFIED BY 'password'是用户密码(可选)。
2. 使用GRANT语句给用户赋予权限,语法如下:GRANT privileges ON databasename.tablename TO 'username'@'host'; 其中,privileges是用户需要的权限,可以是ALL或者具体的权限如SELECT, INSERT等,databasename和tablename是数据库名和表名,'username'@'host'是要授权的用户和主机。
通过以上步骤,您可以创建MySQL用户并赋予相应的权限。
阅读全文