博客
关于我
MySQL 创建新用户及授予权限的完整流程
阅读量:795 次
发布时间:2023-02-10

本文共 1223 字,大约阅读时间需要 4 分钟。

1. 连接到MySQL数据库

作为管理员,通常需要使用root用户连接到MySQL数据库。可以通过以下命令进入MySQL命令行:

mysql -u root -p

系统会提示输入管理员用户的密码,输入密码后即可进入MySQL命令行。

2. 创建新用户

创建新用户时,可以使用CREATE USER命令。命令格式如下:

CREATE USER 'username'@'host' IDENTIFIED BY 'password';

其中:

- `username`:新用户的名称。 - `host`:指定用户允许连接的主机地址。`localhost`表示只允许本地连接,`%`表示允许任何IP地址连接。 - `password`:用户的密码。

示例:创建名为gktask的用户,仅允许从本地主机连接,密码设置为123456

CREATE USER 'gktask'@'localhost' IDENTIFIED BY '123456';

3. 授予权限

MySQL权限分为数据库级、表级和列级,常见权限包括SELECT、INSERT、UPDATE、DELETE等。GRANT命令用于分配权限。

3.1 授予所有权限

如果需要用户拥有完全访问权限,可以使用以下命令:

GRANT ALL PRIVILEGES ON *.* TO 'gktask'@'localhost';

其中:

- `ALL PRIVILEGES`:授予用户所有权限。 - `*.*`:表示对所有数据库和表授予权限。 - 如果需要用户只能访问特定数据库,可以将`*`替换为数据库名称,例如`mydatabase`:

GRANT ALL PRIVILEGES ON mydatabase.* TO 'gktask'@'localhost';
3.2 刷新权限

权限更改后,执行以下命令以确保权限立即生效:

FLUSH PRIVILEGES;

4. 查看所有用户

作为管理员,可以通过查询`mysql.user`表查看当前用户列表:

SELECT User, Host FROM mysql.user;

5. 撤销权限(可选)

如果需要取消用户的权限,可以使用REVOKE命令。例如,取消`gktask`用户对`mydatabase`的所有权限:

REVOKE ALL PRIVILEGES ON mydatabase.* FROM 'gktask'@'localhost';

权限更改后,执行以下命令以使其生效:

FLUSH PRIVILEGES;

6. 删除用户(可选)

如果不再需要某个用户,可以使用DROP USER命令进行删除:

DROP USER 'gktask'@'localhost';

合理配置权限是数据库安全的重要环节。通过以上步骤,可以创建新用户、授予权限,并对用户进行管理和删除操作。确保每个用户只能访问其所需的数据资源,有助于提升数据库的安全性和管理效率。

转载地址:http://uzbfk.baihongyu.com/

你可能感兴趣的文章
Mysql: 对换(替换)两条记录的同一个字段值
查看>>
mysql:Can‘t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock‘解决方法
查看>>
MYSQL:基础——3N范式的表结构设计
查看>>
MYSQL:基础——触发器
查看>>
Mysql:连接报错“closing inbound before receiving peer‘s close_notify”
查看>>
mysqlbinlog报错unknown variable ‘default-character-set=utf8mb4‘
查看>>
mysqldump 参数--lock-tables浅析
查看>>
mysqldump 导出中文乱码
查看>>
mysqldump 导出数据库中每张表的前n条
查看>>
mysqldump: Got error: 1044: Access denied for user ‘xx’@’xx’ to database ‘xx’ when using LOCK TABLES
查看>>
Mysqldump参数大全(参数来源于mysql5.5.19源码)
查看>>
mysqldump备份时忽略某些表
查看>>
mysqldump实现数据备份及灾难恢复
查看>>
mysqldump数据库备份无法进行操作只能查询 --single-transaction
查看>>
mysqldump的一些用法
查看>>
mysqli
查看>>
MySQLIntegrityConstraintViolationException异常处理
查看>>
mysqlreport分析工具详解
查看>>
MySQLSyntaxErrorException: Unknown error 1146和SQLSyntaxErrorException: Unknown error 1146
查看>>
Mysql_Postgresql中_geometry数据操作_st_astext_GeomFromEWKT函数_在java中转换geometry的16进制数据---PostgreSQL工作笔记007
查看>>