sql,CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';,GRANT ALL PRIVILEGES ON 数据库名.* TO '用户名'@'主机名';,FLUSH PRIVILEGES;,
`,,将上述代码中的
用户名、
主机名、
密码和
数据库名`替换为实际的值。MySQL建用户指定数据库
创建用户与数据库
1、创建新用户:
使用CREATE USER
语句来创建新用户。
```sql
CREATE USER 'testUser'@'localhost' IDENTIFIED BY 'password';
```
在高版本数据库中,可以使用以下命令:
```sql
CREATE USER 'testUser'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
```
%
表示用户可以从任何主机登录,localhost
表示只能从本地主机登录。
2、创建数据库:
使用CREATE DATABASE
语句来创建新的数据库。
```sql
CREATE DATABASE testDB;
```
3、赋予权限:
使用GRANT
语句为用户赋予特定数据库的权限。
```sql
GRANT ALL PRIVILEGES ON testDB.* TO 'testUser'@'localhost';
```
刷新权限使更改生效:
```sql
FLUSH PRIVILEGES;
```
4、查看用户权限:
使用SHOW GRANTS
语句查看用户的权限:
```sql
SHOW GRANTS FOR 'testUser'@'localhost';
```
5、删除用户:
使用DROP USER
语句删除用户:
```sql
DROP USER 'testUser'@'localhost';
```
刷新权限使更改生效:
```sql
FLUSH PRIVILEGES;
```
6、修改用户密码:
使用ALTER USER
语句修改用户密码:
```sql
ALTER USER 'testUser'@'localhost' IDENTIFIED BY 'new_password';
```
或者:
```sql
SET PASSWORD FOR 'testUser'@'localhost' = PASSWORD('new_password');
```
刷新权限使更改生效:
```sql
FLUSH PRIVILEGES;
```
7、撤销权限:
使用REVOKE
语句撤销用户的权限:
```sql
REVOKE ALL PRIVILEGES ON testDB.* FROM 'testUser'@'localhost';
```
8、删除数据库:
使用DROP DATABASE
语句删除数据库:
```sql
DROP DATABASE testDB;
```
9、禁用和启用用户:
使用ALTER USER
语句禁用用户:
```sql
ALTER USER 'testUser'@'localhost' ACCOUNT LOCK;
```
使用UNLOCK
语句启用用户:
```sql
ALTER USER 'testUser'@'localhost' ACCOUNT UNLOCK;
```
10、重命名用户:
使用RENAME USER
语句重命名用户:
```sql
RENAME USER 'testUser'@'localhost' TO 'newUser'@'localhost';
```
FAQs(常见问题解答)
1、如何创建一个只能访问特定数据库的用户?
创建一个新用户并赋予其对特定数据库的所有权限,创建一个名为restrictedUser
的用户,只允许访问restrictedDB
数据库:
```sql
CREATE USER 'restrictedUser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON restrictedDB.* TO 'restrictedUser'@'localhost';
FLUSH PRIVILEGES;
```
2、如何撤销用户的权限?
使用REVOKE
语句可以撤销用户的权限,撤销restrictedUser
对restrictedDB
数据库的所有权限:
```sql
REVOKE ALL PRIVILEGES ON restrictedDB.* FROM 'restrictedUser'@'localhost';
```