资讯专栏INFORMATION COLUMN

MySQL 用户管理

fai1017 / 2745人阅读

摘要:的用户账号信息存储在数据库中。需要直接访问它的时机之一是在需要获得所有用户账号列表时为用户专门提供了账号管理相关的语句,接下来我们来看看它们的使用方法。用户账号管理创建用户账号创建一个新的用户账号,可以使用语句。

MySQL 的用户账号信息存储在 mysql 数据库中。一般不推荐直接访问 mysql 数据库,因为对它们的任何毁坏都可能严重地伤害到 MySQL 服务器。需要直接访问它的时机之一是在需要获得所有用户账号列表时:

USE mysql;
SELECT user, password FROM user;

MySQL 为用户专门提供了账号管理相关的 SQL 语句,接下来我们来看看它们的使用方法。

用户账号管理
1. 创建用户账号

创建一个新的用户账号,可以使用 CREATE USER 语句。例如,在创建新用户账号时指定用户名、密码和允许连接的主机地址:

CREATE USER "jochen"@"localhost" IDENTIFIED BY "password";

主机地址 HOST 允许以下几种类型:

localhost:只允许该用户在本地登录,不能远程登录;

192.168.1.1:具体的 IP 表示只允许该用户从特定 IP 登录;

%:允许在除本机之外的任何一台机器远程登录。

2. 用户重命名

为了重新命名一个用户账号,可以使用 RENAME USER 语句:

RENAME USER finley TO jochen;
3. 更改用户密码

为了更改用户密码,可以使用 SET PASSWORD 语句,同时密码必须使用 Password 函数进行加密:

SET PASSWORD FOR jochen = Password("$mysql$");
4. 更改主机地址
USE mysql;
UPDATE user SET host = "%" where user ="jochen";
FLUSH privileges;
5. 删除用户账号

为了删除一个用户账号以及相关的权限信息,可以使用 DROP USER 语句:

DROP USER jochen;
访问权限管理
1. 查看用户权限

在创建用户账号之后,必须给用户分配相应的访问权限。新创建的用户账号如果没有设置权限信息,该账号用户允许登录 MySQL 系统,但不能看到数据,不能执行任何数据库操作。查看用户账号的权限,可以使用 SHOW GRANTS 语句:

SHOW GRANTS FOR jochen;
2. 设置用户权限

为设置权限,使用 GRANT 语句,同时必须提供以下信息:

要授予的权限;

被授予访问权限的数据库或表;

用户名。

// 允许用户在 bankaccount 数据库的所有表上使用 SELECT 语句
GRANT SELECT ON bankaccount.* TO jochen;

// 授予用户多个权限,同时可以修改允许连接的主机地址
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP
ON bankaccount.*
TO "jochen"@"localhost";

// 授予用户对所有数据库和表的所有权限,同时允许用户修改权限(相当于 root 用户)
GRANT ALL PRIVILEGES 
ON *.*
TO "jochen"@"localhost" WITH GRANT OPTION;
3. 撤销用户权限

使用 GRANT 语句来设置用户的访问权限,而 REVOKE 语句可以撤销特定的用户权限:

REVOKE SELECT ON bankaccount.* FROM jochen;
用户访问权限必须存在,否则 MySQL 会报错。
4. 常见权限说明
权限 说明
ALL GRANT OPTION 外的所有权限
ALTER 使用 ALTER TABLE 语句
CREATE 使用 CREATE TABLE 语句
CREATE USER 使用 CREATE USERDROP USERRENAME USERCREATE USERREVOKE ALL PRIVILEGES 语句
DELETE 使用 DELETE 语句
DROP 使用 DROP TABLE 语句
INSERT 使用 INSERT 语句
SELECT 使用 SELECT 语句
UPDATE 使用 UPDATE 语句
USAGE 无访问权限

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/47721.html

相关文章

  • MySQL性能调优与架构设计(三)—— MySQL安全管理

    摘要:处在局域网之内的,由于有局域网出入口的网络设备的基本保护,相对于暴露在广域网中要安全不少,主要威胁对象基本控制在了可以接入局域网的内部潜在威胁者,和极少数能够突破最外围防线局域网出入口的安全设备的入侵者。 前言 对于任何一个企业来说,其数据库系统中所保存数据的安全性无疑是非常重要的,尤其是公司的有些商业数据,可能数据就是公司的根本。 失去了数据,可能就失去了一切 本章将针对mysql...

    Eminjannn 评论0 收藏0
  • MySQL性能调优与架构设计(三)—— MySQL安全管理

    摘要:处在局域网之内的,由于有局域网出入口的网络设备的基本保护,相对于暴露在广域网中要安全不少,主要威胁对象基本控制在了可以接入局域网的内部潜在威胁者,和极少数能够突破最外围防线局域网出入口的安全设备的入侵者。 前言 对于任何一个企业来说,其数据库系统中所保存数据的安全性无疑是非常重要的,尤其是公司的有些商业数据,可能数据就是公司的根本。 失去了数据,可能就失去了一切 本章将针对mysql...

    whinc 评论0 收藏0
  • MySQL必知必会(1):了解Mysql

    摘要:比如用户表,第一行表示张三第二行表示李四,每一行都包含所有的列也就是字段。也是一种数据库管理系统。但是,活跃的社区都给出了解决办法,也在逐步成长。 本文主要介绍Mysql最基础知识:Mysql基本概念。 1.1 数据库基础 1.1.1 简介 数据库,从字面意思来理解就是一个用来装数据的容器。每天我们都在和数据库打交道,比如你每天打开APP浏览新闻,浏览微博,这些都是间接的使用数据库。 ...

    陈伟 评论0 收藏0
  • MySQL必知必会(1):了解Mysql

    摘要:比如用户表,第一行表示张三第二行表示李四,每一行都包含所有的列也就是字段。也是一种数据库管理系统。但是,活跃的社区都给出了解决办法,也在逐步成长。 本文主要介绍Mysql最基础知识:Mysql基本概念。 1.1 数据库基础 1.1.1 简介 数据库,从字面意思来理解就是一个用来装数据的容器。每天我们都在和数据库打交道,比如你每天打开APP浏览新闻,浏览微博,这些都是间接的使用数据库。 ...

    iOS122 评论0 收藏0
  • UCloud MySQL云数据库操作指南

    摘要:二进制日志是记录对数据发生或潜在发生更改的语句,并以二进制的形式保存。删除配置文件删除配置文件配置文件支持删除操作。在配置文件列表页选中需要删除的配置文件,选中删除即可完成删除操作。UCloud MySQL云数据库操作指南 基本操作 启动MySQL实例 如果要启动处于关闭状态的MySQL实例,首先选择需要启动的MySQL实例,在列表右侧点击启动按钮,弹出的确认对话框选择确定...

    raoyi 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<