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

mysql用户管理

    需求:  我想要一个mysql 用户 此用户对某库某表有权限控制 ,此用户可以远程连接操作。

    分析:   首先要有一个用户: 用户创建> 用户删除。    

      如何给用户权限: 添加权限-> 撤消权限-> 查看权限

    实现:

    1.用户创建: 两种方式 

     (1) mysql.user表保存的是用户登录信息,插表法:直接添加无权限

        insert into mysql.user(host,user,password) values('%','test',PASSWORD('pwd'));  

              (2) 命令方式 添加并赋权

        grant select  on 数据库.表  to  '用户名'@'登录主机' identified by '密码'   注:数据库.表 可用通配符*.*  登录主机 可以通配符%

    2.用户删除

      delete from mysql.user where user='' and host='';

           3.用户密码修改:

      update mysql.user set password=PASSWORD('111111') where user='root';

    4.添加权限

     grant 权限 on 数据库.表 to '用户名'@'登录主机';

     权限: select ,update,delete,insert(表数据)、create,alert,drop(表结构)、references(外键)、create temporary tables(创建临时表)、index(操作索引)、create view,show view(视图)、create routine,alert routine,execute(存储过程)、all,all privileges(所有权限)

 

     数据库:数据库名或者*(所有数据库)

 

     表:表名或者*(某数据库下所有表)

 

     主机:主机名或者%(任何其他主机)

 

    例:grant selec,insert,update,delete on *.* to 'test'@'%';

         5.撤消权限

        revoke 权限 on 数据库.表 from '用户名'@'登录主机';//将to改为from

    例:revoke all on *.* from ‘test’@’%’;

         6.查看权限

        show grants for test@localhost;//@localhost指定用户指定host  也可以不指定

        7.远程访问控制

    use mysql;

    update db set host = '%' where user = '用户名'; (如果写成 host=localhost 那此用户就不具有远程访问权限)

    flush privileges;

    grant all privileges on *.* to 'myuser'@'%' identified by 'mypassword' with grant option;

   8.创建远程访问用户

    //grant usage on *.* to 创建的用户名 @"%" identified by "密码"; 无权限

    //grant all privileges on *.* to 创建的用户名 @"%" 赋权限

    grant all privileges on *.* to 创建的用户名 @"%" identified by "密码";

    flush privileges; * 刷新刚才的内容*

    host格式:  172.17.%  172.17.11.% 可用通配符%

 

    使用用户

        用户登录 

    格式: mysql -h主机地址 -u用户名 -p用户密码

    mysql -h10.10.10.110 -uroot -p123

       用户退出

            exit  quit

转载于:https://www.cnblogs.com/lwlapp/p/5446587.html

相关文章:

  • 百度搜索引擎中的快照及快照更新机制
  • 灵活的使用画图工具
  • cssViewer牛逼的chrome插件
  • 从两地三中心到双活数据中心
  • Docker 快速入门教程
  • [Flexbox] Using order to rearrange flexbox children
  • perl5 第十三章 Perl的面向对象编程
  • Asp.net gzip压缩的启用
  • 虚拟化平台cloudstack(8)——从UI开始
  • ​linux启动进程的方式
  • 数据绑定控件单选框
  • css3 翻转和旋转的区别
  • 如何将自己的网站分享到QQ空间,微信,微博等等
  • 查找并修复Android中的内存泄露—OutOfMemoryError
  • java异常分类及常见异常
  • 深入了解以太坊
  • 「面试题」如何实现一个圣杯布局?
  • iOS小技巧之UIImagePickerController实现头像选择
  • Nginx 通过 Lua + Redis 实现动态封禁 IP
  • Python代码面试必读 - Data Structures and Algorithms in Python
  • Stream流与Lambda表达式(三) 静态工厂类Collectors
  • vue从创建到完整的饿了么(11)组件的使用(svg图标及watch的简单使用)
  • 产品三维模型在线预览
  • 对象管理器(defineProperty)学习笔记
  • 前端面试题总结
  • 前言-如何学习区块链
  • 新书推荐|Windows黑客编程技术详解
  • LevelDB 入门 —— 全面了解 LevelDB 的功能特性
  • 分布式关系型数据库服务 DRDS 支持显示的 Prepare 及逻辑库锁功能等多项能力 ...
  • ​软考-高级-系统架构设计师教程(清华第2版)【第9章 软件可靠性基础知识(P320~344)-思维导图】​
  • #我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​
  • ${factoryList }后面有空格不影响
  • $GOPATH/go.mod exists but should not goland
  • (done) ROC曲线 和 AUC值 分别是什么?
  • (html转换)StringEscapeUtils类的转义与反转义方法
  • (Java数据结构)ArrayList
  • (八)五种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (附源码)ssm考生评分系统 毕业设计 071114
  • (三)Pytorch快速搭建卷积神经网络模型实现手写数字识别(代码+详细注解)
  • ..回顾17,展望18
  • .Net mvc总结
  • .NET开源快速、强大、免费的电子表格组件
  • .NET中的Exception处理(C#)
  • @synthesize和@dynamic分别有什么作用?
  • [ 蓝桥杯Web真题 ]-布局切换
  • [20170713] 无法访问SQL Server
  • [android]-如何在向服务器发送request时附加已保存的cookie数据
  • [BUUCTF]-Reverse:reverse3解析
  • [BZOJ 4598][Sdoi2016]模式字符串
  • [C/C++]数据结构 循环队列
  • [C++11 多线程同步] --- 条件变量的那些坑【条件变量信号丢失和条件变量虚假唤醒(spurious wakeup)】
  • [CareerCup] 12.3 Test Move Method in a Chess Game 测试象棋游戏中的移动方法
  • [CF482B]Interesting Array
  • [DM复习]Apriori算法-国会投票记录关联规则挖掘(上)
  • [Flutter]打包IPA