当前位置: 首页 > news >正文

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

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

创建用户

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';

删除权限和权限控制

对存在用户进行授权 

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

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

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

多权限,重命名

删除用户

修改密码

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

root修改其他用户密码

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

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

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

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

  1. vim /etc/my.cnf

  2. skip-grant-tables 

第二步:重启数据库服务 ,修改数据库用户表中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;

 总结

用户管理操作

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
 

http://www.lryc.cn/news/212676.html

相关文章:

  • wireshark捕获DNS
  • Linux学习-kubernetes之Ingress
  • diamond大基因序列快速比对工具使用详解-包含超算集群多节点计算使用方法
  • 最新ai系统ChatGPT商业运营版网站源码+支持GPT4.0/支持AI绘画+已支持OpenAI GPT全模型+国内AI全模型+绘画池系统
  • ffmpeg x264 x265 fdk-aac 编译记录
  • K8s集群
  • 生产级 React 框架介绍
  • 如何理解 Spring Boot 中的 Starter?
  • vue-query的使用
  • git本地搭建服务器[Vmware虚拟机访问window的git服务器]
  • 【Python】基础练习题
  • 语雀故障与反思,顺便再领半年会员!
  • PYTHON利用SQLAlchemy库高效操作关联的数据表
  • TypeScript中的类型工具
  • File --JAVA
  • 比较Excel中的两列目录编号是否一致
  • pgsql 创建自增ID , 指定自增ID起始值
  • 数据安全的重要性:如何解密[thekeyishere@cock.li].Elbie勒索病毒
  • 图像识别在自动驾驶汽车中的决策规划与控制策略研究。
  • Spring MVC 的责任链模式
  • 提升用户体验的关键步骤
  • 本地模拟,服务器下载文件
  • 如何防止Shopee账户关联
  • Java 入门指南:使用 Docker 创建容器化 Spring Boot 应用程序
  • Leetcode 542. 01 矩阵
  • 分享一下微信小程序抽奖链接怎么做
  • MathType2024破解版激活序列号
  • 简述对 Spring MVC 的理解
  • Redis——哨兵模式与Zookeeper选举的异同点
  • 基于 Center 的 3D 目标检测和跟踪