mysql grants小记

 更新时间:2011年05月07日 23:15:40   作者:  
grant命令是对mysql数据库进行用户创建,权限或其他参数控制的强大的命令,官网上介绍它就有几大页,要用精它恐怕不是一日半早的事情,权宜根据心得慢慢领会吧!
安装mycheckpoint的时候,给这个监控用户分权限的时候,发现了这个秘密:
复制代码 代码如下:

mysql>
mysql> GRANT ALL PRIVILEGES ON mycheckpoint.* TO 'mycheckpoint_user'@'localhost' IDENTIFIED BY '123456';
ERROR 1470 (HY000): String 'mycheckpoint_user' is too long for user name (should be no longer than 16)
mysql>

grant命令是对mysql数据库进行用户创建,权限或其他参数控制的强大的命令,官网上介绍它就有几大页,要用精它恐怕不是一日半早的事情,权宜根据心得慢慢领会吧!
grant命令的简单介绍是这样的:
The GRANT statement enables system administrators to grant privileges to MySQL user accounts. GRANT also serves to specify other account characteristics such as use of secure connections and limits on access to server resources. To use GRANT, you must have the GRANT OPTION privilege, and you must have the privileges that you are granting.
这段话的意思是说:grant命令允许系统管理员对mysql 用户账号(user account)授予各类权限(grant privileges),grant当然也可以用于设置帐号的其他特征如安全连接和服务资料访问限制等,为使用grant命令,必须有GRANT OPTION 权限,同是你必须有你要授予权限的权限!
使用show grant命令 SHOW GRANTS [FOR user]
该命令的解释是:This statement lists the GRANT statement or statements that must be issued to duplicate the privileges that are granted to a MySQL user account.
如果要需要当前用户的权限,可以使用这下三条命令之一:

SHOW GRANTS;SHOW GRANTS FOR CURRENT_USER;SHOW GRANTS FOR CURRENT_USER();在本机上运行命令的效果(当用使用的root用户连接到mysql)使用grant命令前,需要搞清楚以下信息:grant 的类型,即你要授予什么权限(privilege type),是允许查询?插入行?创建?还是其他等等。grant 的对象类型(priv_type),有三种:TABLE、 FUNCTION、PROCEDURE,还有一种是默认的,就是DATABASE数据库。grant 的对象(priv_level):是作用于所有数据库呢?还是作用于某一数据库,是作用于数据库的所有表,还是某一个单一的表,甚至是表中的某些列!可以这样做个想象,用户就是一个城管执法者:他有那些权限(privilege type),驱赶走鬼?没收走鬼的东西?他管理那类(priv_type)走鬼呢?卖水果的?烘烤的还是卖钸口的?他管理的范围是什么:整个区?某条街道?最后,不同的权限会能或不能作用于不同的对象类型和范围,以下是部分截图,具体可能参考:
dev.mysql.com/doc/refman/5.1/en/privileges-provided.html


以下是某些权限的解数截图,详细在dev.mysql.com/doc/refman/5.1/en/grant.html

相关文章

  • MySQL创建数据库和创建数据表的操作过程

    MySQL创建数据库和创建数据表的操作过程

    MySQL 是最常用的数据库,在数据库操作中,基本都是增删改查操作,简称CRUD,这篇文章主要介绍了MySQL创建数据库和创建数据表的操作过程,需要的朋友可以参考下
    2022-11-11
  • Mysql大数据量查询优化思路详析

    Mysql大数据量查询优化思路详析

    这篇文章主要介绍了Mysql大数据量查询优化思路,Mysql大表查询优化,理论上千万级别以下的数据量Mysql单表查询性能处理都是可以的。下文我们就来看看具体得思路解析
    2022-01-01
  • Ubuntu移除mysql后重新安装的方法

    Ubuntu移除mysql后重新安装的方法

    这篇文章主要介绍了Ubuntu移除mysql后重新安装的方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-04-04
  • 关于Mysql中current_time/current_date()与now()区别

    关于Mysql中current_time/current_date()与now()区别

    这篇文章主要介绍了关于current_time/current_date()与now()区别,在Mysql中 current_time函数是显示当前时间的,而其他两个函数有何不同呢, 接下来我们就一起来看看吧
    2023-04-04
  • MySQL 聚合函数排序

    MySQL 聚合函数排序

    这篇文章主要介绍了MySQL查询排序与查询聚合函数用法,结合实例形式分析了MySQL查询结果排序以及查询聚合函数相关使用技巧,需要的朋友可以参考下
    2021-07-07
  • phpmyadmin报错:#2003 无法登录 MySQL服务器的解决方法

    phpmyadmin报错:#2003 无法登录 MySQL服务器的解决方法

    通过phpmyadmin连接mysql数据库时提示:“2003 无法登录 MySQL服务器”。。。很明显这是没有启动mysql服务,右击我的电脑-管理-找到服务,找到mysql启动一下
    2012-04-04
  • mysql间隙锁的具体使用

    mysql间隙锁的具体使用

    MySQL中有多种锁类型,本文主要介绍了mysql间隙锁的具体使用,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧
    2024-02-02
  • MySQL插入时间差八小时问题的解决方法

    MySQL插入时间差八小时问题的解决方法

    这篇文章主要给大家介绍了关于MySQL插入时间差八小时问题的解决方法,文中通过示例代码介绍的非常详细,对大家学习或者使用MySQL具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-12-12
  • 一文详解MySQL text能存多少个字符

    一文详解MySQL text能存多少个字符

    在我们使用mysql的时候,对字段的选用以及具体使用什么类型会很有疑问,下面这篇文章主要给大家介绍了关于MySQL text能存多少个字符的相关资料,需要的朋友可以参考下
    2023-01-01
  • MySQL中DML添加数据insert的操作方法

    MySQL中DML添加数据insert的操作方法

    DML英文全称Data Manipulation Language数据操作语言,用来对数据库中表的数据记录进行增、删、改在实际开发过程中使用比较多,务必掌握操作,这篇文章主要介绍了MySQL中DML添加数据insert的操作方法,需要的朋友可以参考下
    2023-07-07

最新评论