JC-MySQL权限详解

MySQL数据库已经应用到很多互联网公司,mysql权限管理非常重要,合理规划好mysql数据库权限,对数据库的安全和使用是非常有好处的.一个好的规范和习惯,做任何事也不会出现大问题.

下面是mysql权限规划授权的语句:

授权jc用户,查询、插入、更新、删除 本机testdb数据库中所有表数据的权利的授权方法如下:

grant select on testdb.* to jc@’localhost’

grant insert on testdb.* to jc@’localhost’

grant update on testdb.* to jc@’localhost’

grant delete on testdb.* to jc@’localhost’

授权jc用户,创建、修改、删除 MySQL 数据表结构权限

grant create on testdb.* to jc@’localhost’;

grant alter  on testdb.* to jc@’localhost’;

grant drop  on testdb.* to jc@’localhost’;

授权jc用户,操作MySQL外键权限

grant references on testdb.* to jc@’localhost’;

授权jc用户操作MySQL临时表权限

grant create temporary tables on testdb.* to jc@'localhost’

授权jc用户操作MySQL索引权限

grant index on testdb.* to jc@'localhost’;

授权jc用户操作MySQL视图,查看视图源代码权限

grant create view on testdb.* to jc@’localhost’;

grant show   view on testdb.* to jc@’localhost’;

授权jc用户管理某个MySQL数据库的权限:

grant all privileges on testdb to jc@’localhost’;

授权jc用户管理MySQL中所有数据库的权限:

grant all on *.* to jc@’localhost';

授权jc用户权限分别可以作用在多个层次上。

1. grant 作用在整个 MySQL 服务器上:

grant select on *.* to jc@localhost; — jc可以查询 MySQL 中所有数据库中的表。

grant all    on *.* to jc@localhost; — jc可以管理 MySQL 中的所有数据库

2. grant 作用在单个数据库上:

grant select on testdb.* to jc@localhost; — jc可以查询 testdb 中的表。

3. grant 作用在单个数据表上:

grant select, insert, update, delete on testdb.orders to jc@localhost;

4. grant 作用在表中的列上:

grant select(id, se, rank) on testdb.apache_log to jc@localhost;

5. grant 作用在存储过程、函数上:

grant execute on procedure testdb.pr_add to ‘jc’@'localhost’

grant execute on function testdb.fn_add to ‘jc’@'localhost’

时间: 2024-10-10 02:27:51

JC-MySQL权限详解的相关文章

MySQL存储过程详解 mysql 存储过程

mysql存储过程详解 1.      存储过程简介   我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它. 一个存储过程是一个可编程的函数,它在数据库中创建并保存.它可以有SQL语句和一些特殊的控制结构组成.当希望在不同的应用程序或平台上执行相同的函数,或者封装特定功能时,存储过程是非常有用的

Linux 文件权限详解 含义和修改和安全

Linux文件权限详解 文件和目录权限概述 在linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录. 第一次接触Linux 的时候,对于文件权限方面的知识基本上是一窍不懂. 只知道文件打不开或执行不过去的时候,使用 sudo ,涉及到文件夹的时候,就使用 sudo chmod -R 777 /home/name/xxx 这样基本上都可以执行了,这样是可以使用,但是安全方面也就没有了保障,可以说就是定时炸弹,哈哈 首先介绍一下不同权限所代表的意思: 通

每天一个linux命令(2):文件权限详解

Linux文件权限详解 文件和目录权限概述 在linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录. 通过设定权限可以从以下三种访问方式限制访问权限:只允许用户自己访问:允许一个预先指定的用户组中的用户访问:允许系统中的任何用户访问.同时,用户能够控制一个给定的文件或目录的访问程度.一个文件活目录可能有读.写及执行权限.当创建一个文件时,系统会自动地赋予文件所有者读和写的权限,这样可以允许所有者能够显示文件内容和修改文件.文件所有者可以将这些权限改变

Java实现调用MySQL存储过程详解_java

前言 存储过程(Stored Procedure)是存储在数据库中经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它. Java调用MySQL的存储过程,需要用JDBC连接,环境eclipse 首先查看MySQL中的数据库的存储过程,接着编写代码调用 mysql> show procedure status; +------+-------------+-----------+----------------+-------------

Java中成员方法与成员变量访问权限详解_java

记得在一次面试的笔试题中,有的面试官会要求写出具体的像pullic这些访问限定符的作用域.其实,平常我都没去系统的考虑这些访问限定符的作用域,特别是包内包外的情况,OK,笔试不行了.  这是java基本的知识,也是公司看重的,那没办法啦,我的脑袋记不住东西,那我只能把这些东西写下来方便自己温故知新,不废话了,贴代码了. 代码如下: package com.jaovo; /** *_1_ 成员变量访问权限的求证 * public private protected default(默认的权限) *

MySQL MEM_ROOT详解及实例代码_Mysql

MySQL MEM_ROOT详解 这篇文章会详细解说MySQL中使用非常广泛的MEM_ROOT的结构体,同时省去debug部分的信息,仅分析正常情况下,mysql中使用MEM_ROOT来做内存分配的部分. 在具体分析之前我们先例举在该结构体使用过程中用到的一些宏: #define MALLOC_OVERHEAD 8 //分配过程中,需要保留一部分额外的空间 #define ALLOC_MAX_BLOCK_TO_DROP 4096 //后续会继续分析该宏的用途 #define ALLOC_MAX_

JDBC 连接MySQL实例详解_Mysql

JDBC连接MySQL JDBC连接MySQL 加载及注册JDBC驱动程序 Class.forName("com.mysql.jdbc.Driver"); Class.forName("com.mysql.jdbc.Driver").newInstance(); JDBC URL 定义驱动程序与数据源之间的连接 标准语法: <protocol(主要通讯协议)>:<subprotocol(次要通讯协议,即驱动程序名称)>:<data so

mysql count详解及函数实例代码

mysql count详解 count函数是用来统计表中或数组中记录的一个函数,下面我来介绍在mysql中count函数用法. count(*) 它返回检索行的数目, 不论其是否包含 NULL值. SELECT 从一个表中检索,而不检索其它的列,并且没有 WHERE子句时, COUNT(*)被优化到最快的返回速度. 例如: mysql> SELECT COUNT(*) FROM student; COUNT(DISTINCT 字段)这个优化仅适用于 MyISAM表, 原因是这些表类型会储存一个函

mysql 存储过程详解_Mysql

MySQL存储过程  14.1.1 创建存储过程 MySQL中,创建存储过程的基本形式如下: CREATE PROCEDURE sp_name ([proc_parameter[,...]])          [characteristic ...] routine_body 其中,sp_name参数是存储过程的名称:proc_parameter表示存储过程的参数列表: characteristic参数指定存储过程的特性:routine_body参数是SQL代码的内容,可以用BEGIN-END

MySQL Join详解

mysql|详解 还是先 Create table 吧  create table emp(  id int not null primary key,  name varchar(10)  );   create table emp_dept(  dept_id varchar(4) not null,  emp_id int not null,  emp_name varchar(10),  primary key (dept_id,emp_id));   insert into emp()