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

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

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

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

 +--------------------------------------------------------------------------------------------------------------+
| Grants for zekai@localhost |
+--------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'zekai'@'localhost' IDENTIFIED BY PASSWORD '*6BD4D64E6EE7284ED2F9D694BC77D95AF26DD197' |
+--------------------------------------------------------------------------------------------------------------+

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

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’

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

 +-----------------------------------------------------------------------------------------------------------------------+
| Grants for zekai@localhost |
+-----------------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'zekai'@'localhost' IDENTIFIED BY PASSWORD '*6BD4D64E6EE7284ED2F9D694BC77D95AF26DD197' |
+-----------------------------------------------------------------------------------------------------------------------+

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

 flush  privileges

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

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

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

 a.使用百分号授权

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

 b.子网掩码配置法:

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

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

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

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

一个mysql官方的例子:

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

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

怎样将权限进行回收?

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

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

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

回收之后,用户的权限:

 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'

create和grant配合使用,对Mysql进行创建用户和对用户授权的更多相关文章

  1. 003:MySQL账号创建授权以及Workbench

    目录 一. 权限管理 1."用户 + IP"的概念 2. 用户权限管理 3. 基本操作 4. 撤销权限 5.授权和创建用户 二. MySQL模拟角色 三. Workbench与Ut ...

  2. 【转】How to create a new user and grant permissions in MySQL

    MySQL is one of the most popular database management systems. In this tutorial we will cover the ste ...

  3. Mysql 数据库创建基本步骤

    1.创建数据库 create database school; 2.使用数据库 Use school; 3.创建用户 create user jame@localhost identified by ...

  4. mysql数据库创建database(实例),和用户,并授权

    前言:mysql创建用户的方法分成三种:INSERT USER表的方法.CREATE USER的方法.GRANT的方法. 一.账号名称的构成方式 账号的组成方式:用户名+主机(所以可以出现重复的用户名 ...

  5. 4.mysql数据库创建,表中创建模具模板脚本,mysql_SQL99标准连接查询(恩,外部连接,全外连接,交叉连接)

     mysql数据库创建,表创建模等模板脚本 -- 用root用户登录系统,运行脚本 -- 创建数据库 create database mydb61 character set utf8 ; -- ...

  6. MySql数据库基础操作——数据库、用户的创建,表的制作、修改等

    MySql 是一款使用便捷.轻量级的数据库.因为他体积小.速度快.安装使用简单.开源等优点,目前是使用最广泛的数据库.目前位于Oracle甲骨文公司旗下.那今天我们就来介绍一下数据库的基本操作.具体介 ...

  7. mysql创建新用户及新用户不能本地登陆的问题

    最近在搭建hadoop集群,主节点上面安装的MySQL数据库,对着方面不熟悉,为hive.Ooize等服务统一使用的root账号和密码,为了安全一些库对于某些用户是不可见的,所以需要针对不同的服务设置 ...

  8. MySQL下创建数据库以及授权用户

    一.新建数据库 1.首先登录MySQL:(输入 mysql -u root -p 命令,然后输入密码按回车即可) 2.在mysql> 下输入如下命令,回车,即可创建数据库 (test为数据库名) ...

  9. MySQL添加新用户、为用户创建数据库、为新用户分配权限

    登录MySQL [root@VM_0_2_33_centos /]#mysql -u root -p 添加新用户 允许本地 IP 访问 localhost, 127.0.0.1 mysql>'; ...

随机推荐

  1. JQuery源码解析(十)

    默认回调对象设计 不传入任何参数,调用add的时候将函数add到内部的list中,调用fire的时候顺序触发list中的回调函数: function fn1(val) { console.log('f ...

  2. MVC解决方案发布IIS 登录页面需要输入两次帐号问题

    IIS项目在本地VS2013 解决方案中正常登录可以进入.发布IIS时出现需要输入两次帐号密码进入主页面最终发现是web.config文件配置问题 web.config 默认配置 <authen ...

  3. java 利用spring JavaMailSenderImpl发送邮件,支持普通文本、附件、html、velocity模板

    java 利用spring JavaMailSenderImpl发送邮件,支持普通文本.附件.html.velocity模板 博客分类: Java Spring   本文主要介绍利用JavaMailS ...

  4. oracle数据库解析json格式

    随着非关系型数据大规模使用,以json格式产生的数据也出现在我所管理的Oracle数据库的CLOB字段里面,使用过程中就需要解析出指定键的值. 使用了最新版本 如果Oracle版本为12.1.0.2的 ...

  5. [转载]BT656/BT601/BT1120协议

     [转载] BT656/BT601/BT1120协议以及DM365/DM355/DM6467上使用的YUV颜色空间说明   ITU-R BT.601和ITU-RBT.656国际电信联盟(Interna ...

  6. 032. asp.netWeb用户控件之一初识用户控件并为其自定义属性

    Web用户控件的优点: 可以将常用的内容或者控件以及控件的运行程序逻辑, 设计为用户控件, 以后便可以在多个页面中重复使用该用户控件, 从而省去许多重复性的工作. 如网页上的导航栏, 几乎每个页面都需 ...

  7. [ExtJS5学习笔记]第三节 sencha cmd学习笔记 生成应用程序构建的内部细节

    本文地址: http://blog.csdn.net/sushengmiyan/article/details/38316829本文作者:sushengmiyan------------------- ...

  8. Centos 7 通过挂载系统光盘搭建本地yum仓库的方法

    实验环境:CentOS 7 1:在media文件下创建一个目录  #创建一个www文件 cd /media/www 2: 挂载光盘,将光盘挂载在刚才创建的www文件下 mount /dev/cdrom ...

  9. 【转】STM32定时器输出比较模式中的疑惑

    OCx与OCxREF和CCxP之间的关系 初学STM32,我这个地方卡了很久,现在终于有些明白了,现在把我的理解写下与大家共享,如果有不对的地方,还请指出. OCxREF就是一个参考信号,并且约定: ...

  10. Visual Tracker Benchmark

    直接的方法: 首先将代码先拷到benchmark_v1.0/tackers/这个文件夹下,你会发现里面已有好几个算法的代码文件夹了. 这边注意了,我就是这样的,没有注意把代码拷贝进去之后要自己写一个调 ...