Mysql数据库——用户管理与授权

这篇具有很好参考价值的文章主要介绍了Mysql数据库——用户管理与授权。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、登录用户的管理

用户信息存放在 mysql 数据库下的 user 表(MySQL 服务下存在一个系统自带的 mysql 数据库)。

1.新建用户

`CREATE USER '用户名'@'来源地址' [IDENTIFIED BY [PASSWORD] '密码'];`

'用户名':指定将创建的用户名
'来源地址':指定新创建的用户可在哪些主机上登录,可使用IP地址、网段、主机名的形式,本地用户可用localhost,允许任意主机登录可用通配符%
'密码':若使用明文密码,直接输入'密码',插入到数据库时由Mysql自动加密;
        若使用加密密码,需要先使用SELECT PASSWORD('密码'); 获取密文,再在语句中添加 PASSWORD '密文';
        若省略“IDENTIFIED BY”部分,则用户的密码将为空(不建议使用)

2.查看用户信息

创建后的用户保存在 mysql 数据库的 user 表里
USE mysql;
SELECT User,authentication_string,Host from user;

查看当前登录用户
select user();

Mysql数据库——用户管理与授权

3.重命名用户

RENAME USER 'zhangsan'@'localhost' TO 'lisi'@'localhost';
Mysql数据库——用户管理与授权

4.删除用户

DROP USER 'lisi'@'localhost';
Mysql数据库——用户管理与授权

5.修改当前登录用户密码

SET PASSWORD = PASSWORD('abc123');
Mysql数据库——用户管理与授权

6.修改其他用户密码

SET PASSWORD FOR 'user1'@'localhost' = PASSWORD('abc123');

Mysql数据库——用户管理与授权

7.忘记 root 密码的解决办法

(1)`修改 /etc/my.cnf 配置文件,不使用密码直接登录到 mysql`
vim /etc/my.cnf
[mysqld]
skip-grant-tables					#添加,使登录mysql不使用授权表

systemctl restart mysqld

mysql								#直接登录

(2)`使用 update 修改 root 密码,刷新数据库`
UPDATE mysql.user SET AUTHENTICATION_STRING = PASSWORD('abc123') where user='root';

FLUSH PRIVILEGES;
quit

mysql -u root -pabc123

注意:最后再把 /etc/my.cnf 配置文件里的 skip-grant-tables 删除,并重启 mysql 服务。

Mysql数据库——用户管理与授权
Mysql数据库——用户管理与授权

二、数据库用户授权

1.常见的用户权限

权限 权限说明 权限级别
CREATE 创建数据库、表或索引的权限 数据库、表或索引
DROP 删除数据库或表的权限 数据库或表
GRANT OPTION 赋予权限选项 数据库或表
REFERENCES 引用权限 数据库或表
ALTER 更改表的权限 数据表
DELETE 删除表数据的权限 数据表
INDEX 操作索引的权限 数据表
INSERT 添加表数据的权限 数据表
SELECT 查询表数据的权限 数据表
UPDATE 更新表数据的权限 数据表
CREATE VIEW 创建视图的权限 视图
SHOW VIEW 查看视图的权限 视图
ALTER ROUTINE 更改存储过程的权限 存储过程
CREATE ROUTINE 创建存储过程的权限 存储过程
EXECUTE 执行存储过程权限 存储过程
FILE 服务器主机文件的访问权限 文件管理
CREATE TEMPORARY TABLES 创建临时表的权限 服务器管理
LOCK TABLES 锁表的权限 服务器管理
CREATE USER 创建用户的权限 服务器管理
RELOAD 执行 flush privileges, refresh, reload 等刷新命令的权限 服务器管理
PROCESS 查看进程的权限 服务器管理
REPLICATION CLIENT 查看主从服务器状态的权限 服务器管理
REPLICATION SLAVE 主从复制的权限 服务器管理
SHOW DATABASES 查看数据库的权限 服务器管理
SHUTDOWN 关闭数据库的权限 服务器管理
SUPER 超级权限 服务器管理
ALL [PRIVILEGES] 所有权限
USAGE 没有任何权限

2.授予权限

GRANT语句:专门用来设置数据库用户的访问权限。当指定的用户名不存在时,GRANT语句将会创建新的用户;当指定的用户名存在时, GRANT 语句用于修改用户信息。

`GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'来源地址' [IDENTIFIED BY '密码'];`

`权限列表`:用于列出授权使用的各种数据库操作,以逗号进行分隔,如“select,insert,update”。使用“all”表示所有权限,可授权执行任何操作。
`数据库名.表名`:用于指定授权操作的数据库和表的名称,其中可以使用通配符“*”。例如,使用“ztm.*”表示授权操作的对象为 ztm数据库中的所有表。
`用户名@来源地址`:用于指定用户名称和允许访问的客户机地址,即谁能连接、能从哪里连接。来源地址可以是域名、IP地址,还可以使用“%”通配符,表示某个区域或网段内的所有地址,如“%.ztm.com”、“192.168.30.%”等。
`IDENTIFIED BY`:用于设置用户连接数据库时所使用的密码字符串。在新建用户时,若省略“IDENTIFIED BY”部分,则用户的密码将为空。


#允许用户 zhangsan 在所有终端远程连接 mysql ,并拥有所有权限。
GRANT ALL [PRIVILEGES] ON *.* TO 'zhangsan'@'localhost' IDENTIFIED BY '123456';
flush privileges;
quit

mysql -u zhangsan -p123456
use ztm;
show tables;
select * from ztm000;

Mysql数据库——用户管理与授权

3.查看权限

语法格式:SHOW GRANTS FOR 用户名@来源地址;
Mysql数据库——用户管理与授权

4.撤销权限

语法格式:`REVOKE 权限列表 ON 数据库名.表名 FROM 用户名@来源地址;`
例:
REVOKE ALL ON *.* FROM 'lisi'@'%';

SHOW GRANTS FOR 'lisi'@'%';
#USAGE权限只能用于数据库登陆,不能执行任何操作;USAGE权限不能被回收,即 REVOKE 不能删除用户。

flush privileges;

Mysql数据库——用户管理与授权文章来源地址https://www.toymoban.com/news/detail-487346.html

到了这里,关于Mysql数据库——用户管理与授权的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 微信小程序实现登录授权,并将获取到的用户授权信息存储到数据库中

    微信小程序实现登录授权,并将获取到的用户授权信息存储到数据库中

    官方开发文档 注意:在实现授权登录时,不要使用测试号进行 wx.getUserProfile使用文档 config文件代码如下 路由模块 主要代码(如果不想多个文件,可以将wxuserHandle.wxuser这个位置内容替换为exports.wxuser的内容) 注意: 在返回token的字符串拼接时,Bearer 后面必须有一个空格 数据

    2024年02月10日
    浏览(13)
  • MySQL数据库——MySQL GRANT:用户授权

    授权就是为某个用户赋予某些权限。例如,可以为新建的用户赋予查询所有数据库和表的权限。MySQL 提供了 GRANT 语句来为用户设置权限。 在 MySQL 中,拥有 GRANT 权限的用户才可以执行  GRANT  语句,其语法格式如下: 其中: priv_type 参数表示权限类型; columns_list 参数表示权

    2024年02月06日
    浏览(7)
  • MySQL数据库配置及创建用户和授权

    MySQL数据库配置及创建用户和授权

    注意: 都是基于MySQL8.0以上版本 需要注意的是,修改 MySQL 的配置参数时需要谨慎,如果参数配置不合理,可能会导致数据库性能下降或出现其他问题。修改 MySQL 的配置参数时,最好具有一定的经验或者了解相关的 MySQL 参数调优知识。 vi /etc/my.cnf 第一步: cd /etc #进入etc目录

    2024年02月15日
    浏览(9)
  • Java--用户登录/注册界面(连接Mysql数据库)并可以通过验证码登录

    Java--用户登录/注册界面(连接Mysql数据库)并可以通过验证码登录

    1 效果展示 (1)登录界面 (2)注册界面 (3)动图展示 2 内容说明 (1)开发前,需引入一个连接Mysql 数据库驱动mysql-connector-java-5.1.30-bin.jar包 提取码:6666 (2)构建路径 (3)需要下载xampp软件 xampp软件下载 提取码:2255 xampp软件包含 Apache Web服务器、 Mysql Web服务器、Filezilla

    2024年02月09日
    浏览(43)
  • MySQL数据库用户管理

    MySQL数据库用户管理

    primary key主键约束:字段的值不能重复,不能为null,一个表只能有一个主键 unique key唯一性约束:字段的值不能重复,能为null,一个表可有多个唯一键 not null非空约束:字段的值不能为null default默认值约束: 字段的值如果没有设置则使用默认值自动填充 auto_increment自增约束:

    2024年02月08日
    浏览(9)
  • MariaDB 使用 root 账户管理数据库用户权限和远程登录权限设置

    MariaDB 使用 root 账户管理数据库用户权限和远程登录权限设置 作为一种流行的关系型数据库管理系统,MariaDB 提供了丰富的功能和灵活的权限控制机制。在本文中,我们将学习如何使用 root 账户来创建新用户,并为其分配特定的数据库权限和远程登录权限。 首先,我们需要使

    2024年01月23日
    浏览(17)
  • postgresql|数据库|角色(用户)管理工作---授权和去权以及usage和select两种权限的区别

    postgresql|数据库|角色(用户)管理工作---授权和去权以及usage和select两种权限的区别

    postgresql做为一个比较复杂的关系型的重型数据库,不管是安装部署,还是后期的运行维护,都还是有比较多的细节问题需要引起关注。 例如,用户权限的合理分配,那么,什么是权限的合理分配呢? 自然是权限的最小化原则,也就是说每个用户能够完成其权限范围内的工作

    2024年02月13日
    浏览(8)
  • Android Studio实现Mysql(5.7)数据库增删改查(上)——用户登录功能实现

    Android Studio实现Mysql(5.7)数据库增删改查(上)——用户登录功能实现

    前言:如果android studio安装和第一次跑helloworld有什么问题可以参考:(34条消息) Android Studio踩的那些坑(gradle build、unable to find tasks to···等等)_TidesWise的博客-CSDN博客 目录 准备工作 查询学生数目demo:  增删改查完整案例 1、在Android Studio中新建项目My Application; 2、在Androi

    2024年02月10日
    浏览(6)
  • MySQL:事务、索引、用户管理、备份、数据库设计(三大范式)

    MySQL:事务、索引、用户管理、备份、数据库设计(三大范式)

    事务 (transaction):要么都成功,要么都失败。 核心 :将一组 SQL 放在一个批次中去执行。 原则 ACID :原子性(atomicity)、一致性(consistency)、隔离性(isolation)、持久性(durability)。 原子性 :一个事务中的所有步骤 要么都 成功, 要么都 失败,不能只成功一个步骤。 一致性 :包括

    2023年04月26日
    浏览(13)
  • MySQL数据库——SQL(4)-DCL(管理用户、权限控制)

    MySQL数据库——SQL(4)-DCL(管理用户、权限控制)

    目录 管理用户 1.查询用户 2.创建用户 3.修改用户密码 4.删除用户 示例 权限控制 1.查询权限 2.授予权限 3.撤销权限 示例 DCL总结 DCL DCL英文全称是Data Control Language(数据控制语言),用来管理数据库用户、控制数据库的访问权限。 注意: 主机名可以使用通配符‘%’。 这类S

    2024年02月12日
    浏览(25)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包