Mysql数据库中的用户管理与授权

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

ddl: create drop alter
dml:对数据进行管理update insert into delete truncate
dql:查询语句 select
dcl:权限控制语句grant revoke

创建用户

Mysql数据库中的用户管理与授权,数据库,mysql

Mysql数据库中的用户管理与授权,数据库,mysql

create user '用户名'@'主机' identified by '密码'

加密

  1. SELECT PASSWORD('密码'); #先获取加密的密码

  2. CREATE USER 'lisi'@'localhost' IDENTIFIED BY PASSWORD '加密的密码';

查看当前登录的用户

 select user();

赋权

grant all privileges on *.* to 'ky32'@'localhost' identified by '123456';
grant 赋权的开头语句
all privileges赋予所有权限
on*.*对所有库都有操作权限

on kgc.*只能对指定的库进行操作。
to 'ky32'@'192.168.233.22'赋权给哪个用户
identified by'123456';使用哪个密码进行登录。创建用户的时候不写,密码为空。
show grants for 'ky32'@'localhost';

Mysql数据库中的用户管理与授权,数据库,mysql

删除权限和权限控制

Mysql数据库中的用户管理与授权,数据库,mysql

Mysql数据库中的用户管理与授权,数据库,mysql

对存在用户进行授权 

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

对不存在的用户进行创建并授权 

GRANT ALL PRIVILEGES ON *.* TO '用户名'@'来源地址' IDENTIFIED BY '密码';

多权限,重命名

Mysql数据库中的用户管理与授权,数据库,mysql

删除用户

Mysql数据库中的用户管理与授权,数据库,mysql

修改密码

set password = password ('新密码');

root修改其他用户密码

set password for '用户'@'登录地址' =password ('密码');

root密码的忘记后的修改找回方法

该操作必须是在数据库本机且为root用户,才可进行

第一步:添加跳过的初始配置

  1. vim /etc/my.cnf

  2. skip-grant-tables 

Mysql数据库中的用户管理与授权,数据库,mysql

第二步:重启数据库服务 ,修改数据库用户表中root密码

systemctl restart mysql.service
mysql
mysql> UPDATE mysql.user SET AUTHENTICATION_STRING = PASSWORD('123123') where user='root';
mysql> flush privileges;#刷新数据库
mysql> quit#退出

第三步:登录测试新密码 

mysql -u root -p123123

第四步:撤销添加的免密码认证设置,重启数据库服务 

  1. #删除配置文件中的配置,之后重启服务。

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

  3. vim /etc/my.cnf

  4. systemctl restart mysqld.service

查看用户已有权限的操作 

SHOW GRANTS;

Mysql数据库中的用户管理与授权,数据库,mysql

Mysql数据库中的用户管理与授权,数据库,mysql

Mysql数据库中的用户管理与授权,数据库,mysql

 总结

用户管理操作

1.create user 'username'@'address' identified by 'password';   #创建用户  ​

2.select user,host,authentication_string from mysql.user;   #查看用户信息  ​

3.rename user old_user to new_user;        #修改用户名  ​

4.drop user '用户名'@'来源地址';            #删除用户  ​  

5.set password = password('XXXX');         #修改当前登录用户的密码  ​

6.set password for '用户名'@'来源地址' = password('XXXX');     #修改其他用户的密码  ​

7.select user ();      #查看当前登录用户和来源地址  ​

8.忘记root用户密码的解决方法:  

    修改mysql配置文件/etc/my.cnf,在 [mysqld] 配置项下加入 skip-grant-tables

    service mysqld restart   #重启服务

    mysql   #免密登陆  

    update mysql.user set authentication_string=password('新密码') where user='root';  

    #修改密码 flush privileges; #刷新数据库

用户授权操作 

1.grant 权限列表/ALL ON 库名.表名 to 'username'@'address' identified by '密码';  ​   #授予用户权限

2.show grants;     #查看当前用户(自己)的权限                

3.show grants for 'username'@'address';      #查看其他用户的权限  ​

4.revoke 权限列表/ALL on 库名.表名 from 'username'@'address';   #撤销用户的权限  ​  

5.mysql -u 用户名 -p[密码] -h 目标IP/主机名 -P 端口号             #远程连接mysql

索引

索引的作用:

1、利用索引数据库可以快速定位,大大加快查询速度,主要作用
2、表的数据很多,查询需要关联多个表,这个时候索引也可以提高查询速度
3、加快表与表之间的连接速度
4、使用分组和排序时,可以大大减少时间
5、提高数据库恢复数据时的速度。

索引创建的原则:

1、有索引,数据会先进行索引查询,然后定位数据,索引使用不当,反而会增加数据库的负担。
2.主键,外键必须有索引(创建好了主键和外键自动就是索引,不需要额外声明)
3.一个表超过了300行记录,必须要有索引,否则数据库会遍历表的所有数据。
4.互相之间有关联的表,在这个关联字段应该设置索引
5.唯一性太差的字段,不适合创建索引更新太频繁的字段,不适合做索引。
6.经常被where条件匹配的字段,尤其是表数据比较多的,应该创建索引。
7.在经常进行group by(分组)order by(排序)的字段上要建立索引。
8.索引的列的字段越小越好,长文本的字段,不适合建立索引。

索引的类型:

1.B-树索引 BTREE

树形结构的索引,也是大部分数据库的默认索引类型。
根节点:树的最顶端的分支节点
分支节点:指向索引里其他的分支节点,也可以是叶子节点
叶子节点:直接指向表里的数据行

2.哈希索引:散列索引

把任意长度的输入,通过散列算法变换成固定长度的输出。
散列值…分别对应数据里的列和行
mysqI的默认引擎:INNODB默认的索引类型就是Btree。
MEMORY 引擎可以支持HASH,也是他的默认索引。
先算散列值,然后对应,速度比较慢,比btree慢。
hash的索引匹配:=in () <=>

Mysql数据库中的用户管理与授权,数据库,mysql

Mysql数据库中的用户管理与授权,数据库,mysql

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

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

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

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

相关文章

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

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

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

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

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

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

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

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

    2024年02月12日
    浏览(39)
  • 【数据库二】数据库用户管理与授权

    CHAR和VARCHAR类型类似,但它们保存和检索的方式不同。它们的最大长度和是否尾部空格被保留等方面也不同,在存储或检索过程中不进行大小写转换。 下表显示了将各种字符串值保存到CHAR(4)和VARCHAR(4)列后的结果,说明了CHAR和VARCHAR之间的差别: 字节大小 char无论是否有值,都

    2024年02月09日
    浏览(29)
  • 【Mysql数据库从0到1】-入门基础篇--用户与权限管理

    Mysql 用户分为root用户和普通用户,其中root用户是数据库超级管理员,拥有所有权限(创建、删除、修改密码、授权等管理权限),普通用户只拥有被授予的权限。 Mysql数据库的安全性通过账户管理来保障。 1.1 🍃 Mysql服务器登录 🍀 简单使用 🍀 复杂使用 1.2 🍃 用户创建

    2024年02月07日
    浏览(54)
  • 数据库安全-Redis未授权&Hadoop&Mysql&未授权访问&RCE 漏洞复现

    未授权访问漏洞可以理解为需要安全配置或权限认证的地址、授权页面存在缺陷导致其他用户可以直接访问从而引发重要权限可被操作、数据库或网站目录等敏感信息泄露,包括端口的未授权常见页面的未授权 /admin.php /menu.php 常见的未授权访问漏洞及默认端口: 默认端口统

    2024年02月03日
    浏览(37)
  • mysql8.0无法创建数据库 解决root无法授权问题

    mysql的赋权操作:GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ IDENTIFIED BY ‘你的密码‘ WITH GRANT OPTION; mysql赋权操作: use mysql; GRANT ALL PRIVILEGES ON *.* TO \\\'root\\\'@\\\'%\\\' IDENTIFIED BY \\\'你的密码\\\' WITH GRANT OPTION; flush privileges; GRANT:赋权命令 ALL PRIVILEGES:当前用户的所有权限 ON:介词 *.*:当前用户

    2024年02月12日
    浏览(29)
  • Mysql数据库用户操作

    # Mysql数据库用户操作 ## 1.1创建用户 ```shell create user ‘nz’ identified by ‘123456’ # hzm:用户账号,123456:密码 create user ‘nz’@’%’ identified by ‘123456’ #所有ip都可用账号 create user ‘nz’@’localhost’ identified by ‘123456’ #本地可用账号 create user ‘nz’@’192.168.12.1’ identified

    2024年02月16日
    浏览(40)
  • MySQL数据库——MySQL创建用户(3种方式)

    MySQL 在安装时,会默认创建一个名为 root 的用户,该用户拥有超级权限,可以控制整个 MySQL 服务器。 在对 MySQL 的日常管理和操作中,为了避免有人恶意使用 root 用户控制数据库,我们通常创建一些具有适当权限的用户,尽可能地不用或少用 root 用户登录系统,以此来确保数

    2024年02月05日
    浏览(32)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包