1、首先创建用户username以及密码passwd,授权主机localhost。

1 create user ‘username’@'localhost' identified by 'passwd'

创建了用户后,如果不对用户进行授权的话,则此用户只是对test库具有所有的权限,对于其他的所有库都没有权限。

此时这个用户的状态应该是这样的:

1 +--------------------------------------------------------------------------------------------------------------+

2 | Grants for zekai@localhost |

3 +--------------------------------------------------------------------------------------------------------------+

4 | GRANT USAGE ON *.* TO 'zekai'@'localhost' IDENTIFIED BY PASSWORD '*6BD4D64E6EE7284ED2F9D694BC77D95AF26DD197' |

5 +--------------------------------------------------------------------------------------------------------------+

那如果要对这个用户进行授权,可以使用下面的第二步:

2、然后授权localhost主机通过用户username管理dbname数据库下面的所有权限。

1、无需密码:

grant all privileges on dbname.* to 'username'@'localhost'

2、需要密码:

grant all privileges on dbname.* to 'username'@'localhost' identified by ‘password’

最后在数据库中用户名的状态:

1 +-----------------------------------------------------------------------------------------------------------------------+

2 | Grants for zekai@localhost |

3 +-----------------------------------------------------------------------------------------------------------------------+

4 | GRANT ALL PRIVILEGES ON *.* TO 'zekai'@'localhost' IDENTIFIED BY PASSWORD '*6BD4D64E6EE7284ED2F9D694BC77D95AF26DD197' |

5 +-----------------------------------------------------------------------------------------------------------------------+

所有的操作完成之后,不要忘记下面的语句,这样才能最终生效:

1 flush privileges

以上的记录是对某个用户的某个主机进行所有的授权,但是我们可以更加的颗粒化的去限制某个用户的权限。

怎样授权一个用户远程的连接一台主机的数据库:

根据grant的语法,localhost可以使用域名,IP地址或者IP端来进行替代,因此可以使用如下的方法来进行授权:

a.使用百分号授权

1 grant all on *.* to test@'10.0.0.%' identified by '123test';

b.子网掩码配置法:

1 grant all on *.* to test@'10.0.0.0/255.255.255.0' identified by 'test123'

c.对特定的IP进行授权:

1 grant all on *.* to test@'10.0.0.5' identified by 'test123'

我们在授权的时候尽可能的给最小的权限,而不是一味的授权“all on”

一个mysql官方的例子:

1 CREATE USER 'jeffrey'@'localhost' IDENTIFIED BY 'mypass';2 GRANT ALL ON db1.* TO 'jeffrey'@'localhost';3 GRANT SELECT ON db2.invoice TO 'jeffrey'@'localhost';4 GRANT USAGE ON *.* TO 'jeffrey'@'localhost' WITH MAX_QUERIES_PER_HOUR 90;

可以在mysql的命令行界面使用help grant来进行查看。

怎样将权限进行回收?

使用的是revoke对某个用户的权限进行回收,例子:

1 REVOKE INSERT ON *.* FROM 'jeffrey'@'localhost';

特别需要注意的是,revoke之后的*.*这个必须要和之前grant的*.*要匹配上,不然的话不可能回收权限。

回收之后,用户的权限:

1 GRANT SELECT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE ON *.* TO 'zekai'@'localhost' IDENTIFIED BY PASSWORD '*6BD4D64E6EE7284ED2F9D694BC77D95AF26DD197'

crate和mysql结合利用_create和grant配合使用,对Mysql进行创建用户和对用户授权相关推荐

  1. Ubuntu 18.x 环境下mysql创建用户并更改用户权限

    Ubuntu 18.x 环境下mysql创建用户并更改用户权限 1,在安装好mysql后 root用户的密码 就是刚才自己安装mysql 过程中设置的密码. 2,现在创建一个新的用户 xxx 密码 1 ...

  2. linux 安装nginx php mysql 配置文件在哪_linux下 php+nginx+mysql安装配置

    我主要是用来安装php,以及nginx和php的交互. 一 安装插件 可以选择YUM安装或者源码编译安装gccgcc-c++zlib pcre pcre-devel libevent libevent ...

  3. mysql zrm 配置_利用MySQL-zrm来备份和恢复MySQL数据库方法详解

    MySQL ZRM 工具是用PERL写的可以全部和增量备份MySQL数据库的一个强大工具. 还可以做快照,不过我现在没有条件做.等以后有可以做了再补上. 其实具体要说的也没啥,我只是做了点测试. 这里 ...

  4. linux下安装mysql(利用Cloudera Manager安装集群中的CDH环境的第七步)(CM安装CDH第七步)

    第一步官网上下载  对应linux系统下mysql的tar.gz解压包 第二步linux下新建一个自定义目录,利用xftp工具将下载的 这个mysql-5.7.24-linux-glibc2.12-x ...

  5. bt5 mysql root_MySQL_Linux利用UDF库实现Mysql提权,环境: os:linux(bt5)database - phpStudy...

    Linux利用UDF库实现Mysql提权 环境: os:linux(bt5) database:mysql 简述: 通过自定义库函数来实现执行任意的程序,这里只在linux下测试通过,具体到windo ...

  6. CentOS 5.5 编译安装apache+php+mysql,利用CMS快速建立论坛

    这个是转来的,细节没有验证,请网友自己斟酌.......... CentOS 5.5 编译安装apache+php+mysql,利用CMS快速建立论坛 1.安装Apache [root@bogon t ...

  7. mysql调试索引_10 分钟让你明白 MySQL 是如何利用索引的?

    一.前言 在 MySQL 中进行 SQL 优化的时候,经常会在一些情况下,对 MySQL 能否利用索引有一些迷惑. 譬如: MySQL 在遇到范围查询条件的时候就停止匹配了,那么到底是哪些范围条件? ...

  8. MySQL 技术篇- linux下mysql数据库利用binlog文件进行数据回滚实例演示,binlog恢复数据库的两种方式

    MySQL 数据库数据回滚 第一章:利用 binlog 进行数据回滚 ① 查看 binlog 文件所在位置 ② 查看主数据正在存储数据的 binlog 文件名 ③ 在控制台查看 binlog 文件内容 ...

  9. mysql内置变量_详解MySQL注入利用的变量

    MySQL注入数据库时,我们可以利用内置的变量来得到更多的mysql信息,下面就让我们一起来了解MySQL注入利用的变量. 当我们注射mysql库的输入点的时候,可以通过version()/user( ...

  10. mysql授权用户主机_MySQL用户授权(GRANT)

    当成功创建用户账户后,还不能执行任何操作,需要为该用户分配适当的访问权限.可以使用 SHOW GRANT FOR 语句来查询用户的权限. 注意:新创建的用户只有登录 MySQL 服务器的权限,没有任何 ...

最新文章

  1. html5游戏加载动画,HTML5 战场3游戏的加载指示动画
  2. 掌握这几种 Markdown 语法你就够了
  3. python 面向对象学习
  4. 深度学习(二十二)Dropout浅层理解
  5. 一文读懂 Spring的前世今生
  6. 若只让我推荐一名LiveVideoStackCon上海的讲师,就是他
  7. MySQL修改版本号教程
  8. bs4 乱码_Python BeautifulSoup中文乱码问题的2种解决方法
  9. MTK驱动开发(21)---camera基础知识2
  10. 设计图书馆oracle触发器,Oracle触发器开发与设计
  11. 表格存储TableStore2.0重磅发布,提供更强大数据管理能力
  12. L3-007. 天梯地图-PAT团体程序设计天梯赛GPLT
  13. android 一个界面显示多个窗口,Android Studio多个项目窗口怎么切换?
  14. lede 内核 单 编_openwrt详细设置教程,lede固件设置中文
  15. Oracle Coherence运维监控
  16. matlab 汽车理论,汽车理论matlab作业
  17. 百度地图获取经纬度的方式
  18. 【Ubuntu】 Ubuntu16.04系统美化
  19. Flutter 外接纹理
  20. Git上传代码时报错 Warning: Permanently added ‘gitee.com,212.64.62.174‘ (ECDSA) to the list of known host...

热门文章

  1. 第10章 评价分类结果 学习笔记中
  2. 3D数学——Unity中的向量运算
  3. Python学习笔记之 循环,列表生成式,生成器,迭代器
  4. Atitit 增强代码健壮性 出错继续执行恢复模式,就像vbs那样我以为我可以使用Try/Catch,但是我找不到异常后是否可以继续执行代码,并且找不到如何在最后显示错误消息。目录PHP
  5. Atitit 传媒学院专业与课程表艾提拉总结 目录 1. 媒体分为感觉媒体、表示媒体、表现媒体、存储媒体和传输媒体 1 1.1. 1、感觉媒体 如文字、数据、声音、图形、图像等。 1 1.2. 表示
  6. Atitit 算法之道 之压缩算法 attilax总结 1. 压缩算法与压缩格式区别 1 2. 压缩算法于格式 1 2.1. H264 mpg jpg MP3 2 2.2. Zip rar 。L
  7. Atitit 风控之道 attilax著 风险控制 1. 融资风险控制 3 1.1. 风险控制基本知识 3 2. 第8 章 项目风险的分类管理 156 4 2.1. 8.1 项目风险分类 156 4
  8. Atitit 如何工作积极的心态积极起来
  9. Atitit.java 虚拟机的构成 与指令分类 与 指令集合 以及字节码查看工具javjap
  10. Atitit.数据库事务隔离级别 attilax 总结