首页 文章 精选 留言 我的

精选列表

搜索[API集成],共10000篇文章
优秀的个人博客,低调大师

CentOS 6.2 LAMP系统集成与安全

LAMP(Linux- Apache-Mysql-PHP)网站架构是目前国际流行的Web框架,该框架包括(Linux 操作系统),Apache网络服务器,Mysql数据库,Perl、PHP语言,所有组成产品均是开源软件,是国际上成熟的架构框架,很多流行的商业应用 都是采用这个框架,与Java/J2EE架构相比,LAMP具有Web资源丰富、轻量、快速开发等特点,与微软的.NET架构相比,LAMP具有通用、跨 平台、高性能、低价格的有事,因此LAMP无论是性能、质量还是价格都是企业搭建网站的首选平台,LAMP网站优化架构如下图: 对 于大流量、大并发量的网站系统架构来说,除了硬件上使用高性能的服务器、负载均衡、CDN等之外,在软件架构上需要终点关注下面几个环节:使用高性能的操 作系统(OS)、高性能的网页服务器(Web Server)、高性能的数据库(Database)、高效率的变成语言等。 操作系统的选择 Linux 操作系统有很多不同的发行版本,如Red Hat Enterprise Linux 、SUSE Linux Enterprise 、Debian、Ubuntu、CentOS等,每一个发行版本都有自己的特色,比如RHEL的稳定、Ubuntu的易用,基于稳定和性能的考虑,企业版 操作系统建议选择正版的(包括购买服务)Red Hat或SUSE的企业版,因为一旦在部署或运维过程中出现故障或问题了会有厂家的工程师提供技术支持。 若 出于成本考虑想要使用免费的操作系统,建议选用CentOS,CentOS (Community Enterprise Operating System)是Linux发行版之一,是RHEL/Red Hat Enterprise Linux的精简免费版,和RHEL的源代码相同,不过,RHEL和SUSE LE 等企业版提供的升级服务均是收费的,因此要求免费的高度稳定性的服务器可以用CentOS替代Red Hat Enterprise Linux使用。 Web 服务器、缓存和PHP 加速 Apache 是LAMP架构最核心的Web Server,开源、稳定、模块丰富是Apache的优势,但Apache的缺点是有些臃肿,内存和CPU开销大,性能上有损耗,不如一些轻量级的Web 服务器(例如Nginx)高效,轻量级的Web服务器对静态文件的响应能力来说远高于Apache服务器。 Apache作为Web Server是负载PHP的最佳选择,如果流量很大的话,可以采用Nginx来负载非PHP的Web请求,Nginx是一个高性能的HTTP和方向代理服 务器,Nginx以它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。Nginx不支持PHP和CGI等动态语言,但支持负载均衡和容 错,可与Apache配合使用,是轻量级的HTTP服务器的首选。 Web服务器的缓存有多种方案,Apache提供了自己的缓存模块,也可 以使用外加的Squid模块进行缓存,这两种方式均可以有效地提高Apache的访问响应能力,Squid Cache是一个Web缓存服务器,支持高效的缓存,可以作为网页服务器的前置Cache服务器缓存相关请求,来提高Web服务器的速度,把Squid放 在Apache的前端来缓存Web服务器生成的动态内容,而Web应用程序只需要适当地设置页面失效时间即可,如访问量巨大则考虑使用Memcache作 为分布式缓存。 PHP的加速可使用eAccekerator加速器,eAccelerator是一个自由开放源码PHP加速器,优化和动态 内容缓存提高了性能PHP脚本的缓存性能,使得PHP脚本在编译的状态下,对服务器的开销几乎完全消除,它还对脚本起优化作用,以加快其执行效率,使 PHP程序代码的执行效率提高1-10倍。 具体的解决方案有以下几种: (1)Squid+Apache+PHP+eAccelerator 使用Apache负载PHP,使用Squid进行缓存,HTML或图片的请求可以直接由Squid返回给用户,很多大型网站都采用这种架构。 (2)Nginx/Apache+PHP(FastCGI)+eAccelerator 使用Nginx或Apache负载PHP,PHP使用FastCGI方式运行,效率较高。 (3)Nginx+Apache+PHP+eAccelerator 此方案综合了Nginx和Apache的有点,使用Apache负载PHP,Nginx负责解析其他Web请求,使用Nginx的Rewrite模块,Apache的端口不对外开放。 数据库 在 开源的数据库中,MySQL在性能、稳定性和功能上是首选,虽然被收购但性能上却一点不打折,可以达到百万级别的数据存储,网站初期可以将MySQL和 Web服务器放在一起,但是当访问量达到一定的规模后,应该将MySQL数据库从Web Server上独立出来,在单独的服务器上运行,同时保持Web Server和MySQL服务器的稳定连接,当数据库访问量达到更大的级别时,可以考虑使用MySQL Cluster等数据库群集或者库表散列等解决方案。 总的来说,LAMP架构的网站性能会远远优于Windows IIS平台,它可以负载的访问量也非常大,因此采用LAMP架构是一个不错的方案,综上所述,基于LAMP架构设计具有成本低廉、部署灵活、安全稳定等特点,是Web网络应用和环境的优秀组合。 LAMP 安装 由 于有多个需要安装的程序,而每个要安装的服务都有两种方式,源码安装、RPM包安装。一般情况下,LAMP的服务安装包应采用同一种安装方式安装,否则可 能出现一些不兼容的安装错误。出于安全方面的考虑,这里建议使用源码安装,下面就这种模式在CentOS 6.2版本下的安装。 1、准备安装包 首先需要准备好下列安装包,为避免下载麻烦,相关安装包可在我的博客下载的到( IT辰逸)。 [root@chenyi lamp]# ll 总用量 54216 -rw-r--r--. 1 root root 1396855 12月 6 10:28 autoconf-2.61.tar.gz -rw-r--r--. 1 root root 1775673 12月 6 10:27 freetype-2.3.5.tar.gz -rw-r--r-- 1 root root 555631 12月 6 15:23 eaccelerator-0.9.5.3.tar.bz2 -rw-r--r--. 1 root root 733698 12月 6 10:27 gd-2.0.35.tar.gz -rw-r--r--. 1 root root 6396996 12月 6 10:27 httpd-2.2.9.tar.gz -rw-r--r-- 1 root root 613261 12月 6 11:22 jpegsrc.v6b.tar.gz -rw-r--r--. 1 root root 1335178 12月 6 10:27 libmcrypt-2.5.8.tar.gz -rw-r--r--. 1 root root 792139 12月 6 10:27 libpng-1.2.31.tar.gz -rw-r--r--. 1 root root 4726657 12月 6 10:27 libxml2-2.6.30.tar.gz -rw-r--r--. 1 root root 22693585 12月 6 10:28 mysql-5.0.95.tar.gz -rw-r--r-- 1 root root 650001 12月 6 16:12 nginx-0.8.54.tar.gz -rw-r--r-- 1 root root 1316863 12月 6 16:06 pcre-8.12.tar.gz -rw-r--r--. 1 root root 12046184 12月 6 10:28 php-5.2.6.tar.gz -rw-r--r--. 1 root root 3099674 12月 6 10:28 phpMyAdmin-3.0.0-rc1-all-languages.tar.gz.gz -rw-r--r-- 1 root root 119117 12月 6 15:42 suhosin-0.9.32.1.tar.gz -rw-r--r--. 1 root root 499773 12月 6 10:28 zlib-1.2.3.tar.gz 2、修改远程登录避免显示乱码 编辑 /etc/sysconfig/i18n 把UTF-8改成GB18030 或者将终端设置修改UTF-8 关闭Selinux 使用文本编辑工具打开/etc/selinux/config: [root@chenyi lamp]# vi /etc/selinux/config 把SELINUX=enforcing注释掉:#SELINUX=enforcing 然后新加一行为:SELINUX=disabled 存盘退出,重启系统。 3、检查编译工具 在安装Linux时必须把GCC编译工具装上,我们用下列命令检测编译工具是否存在; [root@chenyi ~]# gcc -v 4、写在默认版本Mysql、Apache、PHP 目 前发行的Linux操作系统版本中,如果选择全部安装,就已经安装了LAMP环境,但是版本相对都比较低,为了在安装过程中不出差错,以及今后系统能够稳 定运行,所以我们要在安装之前,先检查一下系统中是否已经安装了低版本的环境,如果已经安装过了请把原来的环境写在掉,若保留则会对后面部署带来影响,命 令如下: [root@chenyi ~]# rpm -qa | grep mysql #查看系统中是否已经安装了MySQL,如果是,则卸载掉以MySQL开头的包 [root@chenyi ~]# rpm -e mysql-5.0.45-7.e15 --nodeps #强制卸载,忽略依赖性关系(利用同样的方法将默认安装好的Apache 、PHP均卸载,为安装新的tar包做准备) 5、安装库文件 在 下面安装PHP之前,准备工作要做足,应先安装PHP5需要的最新版本库文件,例如libxml2、libmcrypt以及GD2库等文件。安装GD2库 是为了让PHP5支持GIF、PNG和JPEG图片格式,所以在安装GD2库之前还要先安装最新的zlib、libpng、freetype和 jpegsrc等库文件。 (1)安装libxml2库文件 [root@chenyi lamp]# tar zxf libxml2-2.6.30.tar.gz [root@chenyi lamp]# cd libxml2-2.6.30 [root@chenyi libxml2-2.6.30]# ./configure --prefix=/software/libxml2 [root@chenyi libxml2-2.6.30]# make && make install (2)安装libmcrypt库文件 [root@chenyi lamp]# tar zxf libmcrypt-2.5.8.tar.gz [root@chenyi lamp]# cd libmcrypt-2.5.8 [root@chenyi libmcrypt-2.5.8]# ./configure --prefix=/software/libmcrypt [root@chenyi libmcrypt-2.5.8]# make && make install (3)安装zlib库文件 [root@chenyi lamp]# tar zxf zlib-1.2.3.tar.gz [root@chenyi lamp]# cd zlib/1.2.3/ [root@chenyi 1.2.3]# ./configure --prefix=/software/zlib [root@chenyi 1.2.3]# make && make install (4)安装libpng库文件 [root@chenyi lamp]# tar zxf libpng-1.2.31.tar.gz [root@chenyi lamp]# cd libpng-1.2.31 [root@chenyi libpng-1.2.31]# ./configure --prefix=/software/libpng [root@chenyi libpng-1.2.31]# make && make install (5)安装jpeg6库文件 [root@chenyi lamp]# mkdir /software/jpeg6 #建立jpeg6软件安装目录 [root@chenyi lamp]# mkdir /software/jpeg6/bin #建立存放命令的目录 [root@chenyi lamp]# mkdir /software/jpeg6/lib #创建jpeg6库文件所在目录 [root@chenyi lamp]# mkdir /software/jpeg6/include #建立存放头文件目录 [root@chenyi lamp]# mkdir -p /software/jpeg6/man/man1 #建立存放手册的目录 [root@chenyi jpeg-6b]# ./configure \ --prefix=/software/jpeg6/ \ --enable-shared \ #建立共享库使用的GNU的libtool --enable-static #建立静态库使用的GNU的libtool [root@chenyi jpeg-6b]# make && make install (6)安装freetype库文件 [root@chenyi lamp]# tar zxf freetype-2.3.5.tar.gz [root@chenyi lamp]# cd freetype-2.3.5 [root@chenyi freetype-2.3.5]# ./configure --prefix=/software/freetype [root@chenyi freetype-2.3.5]# make && make install (7)安装autoconf库文件 [root@chenyi lamp]# tar zxf autoconf-2.61.tar.gz [root@chenyi lamp]# cd autoconf-2.61 [root@chenyi autoconf-2.61]# ./configure [root@chenyi autoconf-2.61]# make && make install (8)安装gd库文件 [root@chenyi lamp]# tar zxf gd-2.0.35.tar.gz [root@chenyi gd]# cd gd/2.0.35/ [root@chenyi 2.0.35]# ./configure \ #预配置命令 --prefix=/software/gd2/ \ #指定软件安装的路径 --with-zlib=/software/zlib/ \ #指定到哪儿找zlib库文件的位置 --with-jpeg=/software/jpeg6/ \ #指定到哪儿找jpeg库文件的位置 --with-png=/software/libpng/ \ #指定到哪儿找png库文件的位置 --with-freetype=/software/freetype/ #指定到哪儿找freetype 2.x字体库位置 [root@chenyi 2.0.35]# make && make install 开始安装LAMP 总 的来讲,在Linux系统中源代码包的安装过程基本上都是一成不变的“三大定律”配置,(Configure)、编译(Make)、安装(Make Install)。需要安装的所有软件都要安装一定的顺序安装,如先安装Apache、再安装MySQL,最后安装PHP。但安装成功的关键在于安装的次 序和一些软件包的配置上。 (1)安装Apache服务器 当安装好前面的库文件后,就可以正式安装Apache服务器了。 [root@chenyi lamp]# tar zxf httpd-2.2.9.tar.gz [root@chenyi lamp]# cd httpd-2.2.9 [root@chenyi httpd-2.2.9]# ./configure \ #预配置 --prefix=/software/apache2 \ #指定Apache软件安装的位置 --sysconfdir=/etc/httpd \ #指定Apache服务器的配置文件存放位置 --with-z=/software/zlib/ \ #指定zlib库文件的位置 --with-included-apr \ #使用捆绑APR/APR-Util的副本 --enable-so \ #以动态共享对象(DSO)编译 --enable-deflate=shared \ #缩小传输编码的支持 --enable-expires=shared \ #期满头控制 --enable-rewrite=shared \ #基于规则的URL操控 --enable-static-support #建立一个静态链接版本的支持 [root@chenyi httpd-2.2.9]# make && make install (2)测试Apache服务器 检查配置文件目录 [root@chenyi httpd-2.2.9]# /software/apache2/bin/apachectl start [stop 关闭] [root@chenyi httpd-2.2.9]# netstat -pant | grep httpd #查看80端口是否开启 tcp 0 0 :::80 :::* LISTEN 31233/httpd 通过访问测试 为 Apache 添加自启动功能,编辑 /etc/rc.d/rc.local# 将其添加为系统服务也有多种方式,这里不介绍了。 [root@chenyi httpd-2.2.9]# echo "/software/apache2/bin/apachectl start" >> /etc/rc.d/rc.local (3)安装MySQL数据库 [root@chenyi lamp]# groupadd mysql#添加一个Mysql标准组 [root@chenyi lamp]# useradd -g mysql mysql# 添加Mysql用户并加到Mysql组中 [root@chenyi mysql-5.0.95]# ./configure# 预配置 --prefix=/software/mysql/ \# 指定mysql的安装路径 --with-extra-charsets=all\# 添加所有字符支持 --sysconfdir=/etc \# 指定配置文件的路径 --localstatedir=/software/mysql/data \# 数据库存放的路径 --enable-assembler \# 使用一些存放字符函数的汇编版本 --with-mysqld-ldflags=-all-static \# 以春静态方式编译服务端 --with-charset=utf8 --with-plugins=all# 支持InnoDB [root@chenyi mysql-5.0.95]# make && make install 最后家了一行 --with-plugins=all 表示从源代码编译安装 MySQL ,默认安装时,是没有 InnoDB 引擎的,所以,在输入 configure 命令时,需要加入 --with-plugins=all ,这样才会支持 InnoDB ,在 MySQL 里可以执行 SHOW ENGINES 命令来查看当前的 MySQL 服务器所支持的存储引擎。 [root@chenyi mysql-5.0.95]# cp support-files/my-medium.cnf /etc/my.cnf# 创建Mysql配置文件 [root@chenyi mysql-5.0.95]# /software/mysql/bin/mysql_install_db --user=mysql# 创建授权表 [root@chenyi mysql]# chown -R root .# 将文件的所有属性改为root用户 [root@chenyi mysql]# chown -R mysql data# 将数据目录的所有属性改为Mysql用户(注意自己的当前目录,否则.............) [root@chenyi mysql]# chgrp -R mysql .# 将组属性改为Mysql组 [root@chenyi mysql]#/software/mysql/bin/mysqld_safe --user=mysql &# 启动数据库 [root@chenyi ~]# netstat -pant | grep 3306# 查看3306端口是否开启 tcp00 0.0.0.0:33060.0.0.0:*LISTEN1982/mysqld [root@chenyi mysql]# bin/mysqladmin version# 简单的一个测试 [root@chenyi mysql]# bin/mysqladmin variables# 查看所有Mysql参数 [root@chenyi mysql]# bin/mysql -u root# 直接登录到mysql mysql> DELETE FROM mysql.user WHERE host='localhost' AND user=''; mysql> FLUSH PRIVILEGES;# 设置root密码,quit退出 mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('chenyi'); [root@chenyi mysql]# bin/mysql -u root -h localhost -p# 用新密码登录mysql [root@chenyi mysql]# bin/mysqladmin -u root -p shutdown# 关闭Mysql数据库 (4)安装PHP模块 [root@chenyi lamp]# tar zxf php-5.2.6.tar.gz [root@chenyi lamp]# cd php-5.2.6 [root@chenyi php-5.2.6]# ./configure \# 执行预配置 > --prefix=/software/php \# 设置PHP的安装路径 --with-config-file-path=/software/php/etc \# 指定PHP5配置文件的存入的路径 --with-apxs2=/software/apache2/bin/apxs \# 指定PHP查找Apache2的位置 --with-mysql=/software/mysql/ \# 指定Mysql的安装目录 --with-libxml-dir=/software/libxml2/ \# 指定PHP放置libxml2库的位置 --with-png-dir=/software/libpng/ \# 指定PHP放置libpng库的位置 --with-jpeg-dir=/software/jpeg6/ \# 指定PHP放置jpeg库的位置 --with-freetype-dir=/software/freetype/ \# 指定PHP放置Freetype库的位置 --with-gd=/software/gd2/ \# 指定PHP放置gd库的位置 --with-zlib-dir=/software/zlib/ \# 指定PHP放置zlib库的位置 --with-mcrypt=/software/libmcrypt/ \# 指定PHP放置libmcrypt的位置 --with-mysqli=/software/mysql/bin/mysql_config \# 变量激活新增加的Mysqli功能 --enable-soap \# 变量激活soap和web services支持 --enable-mbstring=all \# 使用多字节字符串支持 --enable-sockets# 变量激活socket通信特征 [root@chenyi php-5.2.6]# make && make install# 编译并进行安装 (5)环境整合 [root@chenyi php-5.2.6]# cp php.ini-dist /software/php/etc/php.ini# 创建配置文件 [root@chenyi php-5.2.6]# vi /etc/httpd/httpd.conf# 修改ServerName添加相关配置 LoadModule php5_module modules/libphp5.so# 查看是否有这一行 AddType application/x-httpd-php .php .php4 .php5 .php .phtml# 查看是否有这一行,(表示以这些扩展名结尾的文件,在apache中使用php解析器解析)。 再找到 DirectoryIndex 行,添加 index.php 在 /software/apache2/htdocs 下建立一个 test.php 文件 <? phpinfo(); ?> 然后进行使用 http:IP/test.php 进行测试 (5)安装phoMyAdmin [root@chenyi lamp]# tar zxf phpMyAdmin-3.0.0-rc1-all-languages.tar.gz [root@chenyi lamp]# mv phpMyAdmin-3.0.0-rc1-all-languages /software/apache2/htdocs/phpmyadmin [root@chenyi lamp]# cd /software/apache2/htdocs/phpmyadmin/ [root@chenyi phpmyadmin]# cp config.sample.inc.php config.inc.php phpMyAdmin 的配置有以下模式: 1 、 http 身份验证模式 2 、 cookie 身份验证模式 3 、 config 身份验证模式 通过浏览器访问 http://ip/phpmyadmin 如下: 安装PHP扩展Eaccelerator加速软件 Eaccelerator 是 PHP 的加速软件,使用后 PHP 的执行效率会有很大幅度的提升,如果没有特殊要求,为了避免冲突尽量不要安装 Zend 。 [root@chenyi lamp]# tar jxf eaccelerator-0.9.5.3.tar.bz2 -C /software/src [root@chenyi lamp]# cd /software/src/ eaccelerator-0.9.5.3/ 指定 PHP 所在路径 [root@chenyi eaccelerator-0.9.5.3]# export PHP_PREFIX="/software/php" [root@chenyi eaccelerator-0.9.5.3]# $PHP_PREFIX/bin/phpize [root@chenyi eaccelerator-0.9.5.3]# ./configure --enable-eaccelerator=shared --with-php-config=$PHP_PREFIX/bin/php-config [root@chenyi eaccelerator-0.9.5.3]# make && make install 这时会将 Eaccelerator 安装到 PHP 目录中,屏幕会像是 Eacclelrator.so 所在路径。如下: Installing shared extensions:/software/php/lib/php/extensions/no-debug-non-zts-20060613/# 需记录该路径 修改php.ini并在最后加入: [eaccelerator] extension="/software/php/lib/php/extensions/no-debug-non-zts-20060613/eaccelerator.so" eaccelerator.shm_size="32" eaccelerator.cache_dir="/date/cache/eaccelerator" eaccelerator.enable="1" eaccelerator.optimizer="1" eaccelerator.check_mtime="1" eaccelerator.debug="0" eaccelerator.filter="" eaccelerator.shm_max="0" eaccelerator.shm_ttl="0" eaccelerator.shm_prune_period="0" eaccelerator.shm_only="0" eaccelerator.compress="1" eaccelerator.compress_level="9" 建立缓存目录 [root@chenyi eaccelerator-0.9.5.3]# mkdir -p /data/cache/eaccelerator [root@chenyi eaccelerator-0.9.5.3]# chmod 777 -R /data/ 重启 Apache [root@chenyi eaccelerator-0.9.5.3]# /software/apache2/bin/apachectl stop [root@chenyi eaccelerator-0.9.5.3]# /software/apache2/bin/apachectl start 安装Suhosin 为加固 PHP 的安全性,需要安装 Suhosin ,它是一个专门的安全小组开发的专门针对 PHP 进行安全加固的补丁程序。 [root@chenyi lamp]# tar zxf suhosin-0.9.32.1.tar.gz [root@chenyi lamp]# cd suhosin-0.9.32.1 [root@chenyi suhosin-0.9.32.1]# /software/php/bin/phpize [root@chenyi suhosin-0.9.32.1]# ./configure --with-php-config=/software/php/bin/php-config [root@chenyi suhosin-0.9.32.1]# make && make install 继续修改 php.ini 文件 [root@chenyi suhosin-0.9.32.1]# vi /software/php/etc/php.ini 查找代码 extension_dir = "./" 替换为: extension_dir = "/software/php/lib/php/extensions/no-debug-non-zts-20060613/" extension="suhosion.so" 到这里,LAMP部署完毕,后面如果还有什么需要添加和优化的地方,会同步更新 本文转自 lgpqdwjh 51CTO博客,原文链接:http://blog.51cto.com/itchenyi/1154636,如需转载请自行联系原作者

优秀的个人博客,低调大师

hive集成sentry的sql使用语法

Sentry权限控制通过Beeline(Hiveserver2 SQL 命令行接口)输入Grant 和 Revoke语句来配置。语法跟现在的一些主流的关系数据库很相似。需要注意的是:当sentry服务启用后,我们必须使用beeline接口来执行hive查询,Hive Cli并不支持sentry。 CREATE ROLE Statement CREATE ROLE语句创建一个可以被赋权的角色。权限可以赋给角色,然后再分配给各个用户。一个用户被分配到角色后可以执行该角色的权限。 只有拥有管理员的角色可以create/drop角色。默认情况下,hive、impala和hue用户拥有管理员角色。 CREATEROLE[role_name]; DROP ROLE Statement DROP ROLE语句可以用来从数据库中移除一个角色。一旦移除,之前分配给所有用户的该角色将会取消。之前已经执行的语句不会受到影响。但是,因为hive在执行每条查询语句之前会检查用户的权限,处于登录活跃状态的用户会话会受到影响。 DROPROLE[role_name]; GRANT ROLE Statement GRANT ROLE语句可以用来给组授予角色。只有sentry的管理员用户才能执行该操作。 GRANTROLErole_name[,role_name]TOGROUP(groupName)[,GROUP(groupName)] REVOKE ROLE Statement REVOKE ROLE语句可以用来从组移除角色。只有sentry的管理员用户才能执行该操作。 REVOKEROLErole_name[,role_name] FROMGROUP(groupName)[,GROUP(groupName)] GRANT (PRIVILEGE) Statement 授予一个对象的权限给一个角色,该用户必须为sentry的管理员用户。 GRANT (PRIVILEGE)[,(PRIVILEGE)] ON(OBJECT)(object_name) TOROLE(roleName)[,ROLE(roleName)] REVOKE (PRIVILEGE) Statement 因为只有认证的管理员用户可以创建角色,从而只有管理员用户可以取消一个组的权限。 REVOKE (PRIVILEGE)[,(PRIVILEGE)] ON(OBJECT)(object_name) FROMROLE(roleName)[,ROLE(roleName)] GRANT (PRIVILEGE) ... WITH GRANT OPTION 在cdh5.2中,你可以委托给其他角色来授予和解除权限。比如,一个角色被授予了WITH GRANT OPTION的权限可以GRANT/REVOKE同样的权限给其他角色。因此,如果一个角色有一个库的所有权限并且设置了 WITH GRANT OPTION,该角色分配的用户可以对该数据库和其中的表执行GRANT/REVOKE语句。 GRANT (PRIVILEGE) ON(OBJECT)(object_name)TOROLE(roleName)WITHGRANTOPTION 只有一个带GRANT选项的特殊权限的角色或者它的父级权限可以从其他角色解除这种权限。一旦下面的语句执行,所有跟其相关的grant权限将会被解除。 REVOKE (RIVILEGE)ON(BJECT)(bject_name)FROMROLE(roleName) Hive目前不支持解除之前赋予一个角色 WITH GRANT OPTION 的权限。要想移除WITH GRANT OPTION、解除权限,可以重新去除 WITH GRANT OPTION这个标记来再次附权。 SET ROLE Statement SET ROLE语句可以给当前会话选择一个角色使之生效。一个用户只能启用分配给他的角色。任何不存在的角色和当前用户不能使用的角色是不能生效的。如果没有使用任何角色,用户将会使用任何一个属于他的角色的权限。 选择一个角色使用: Toenableaspecificrole: 使用所有的角色: Toenableaspecificrole: 关闭所有角色 SETROLENONE; SHOW Statement 显示当前用户拥有库、表、列相关权限的数据库: SHOWDATABASES; 显示当前用户拥有表、列相关权限的表; SHOWTABLES; 显示当前用户拥有SELECT权限的列: SHOWCOLUMNS(FROM|IN)table_name[(FROM|IN)db_name]; 显示当前系统中所有的角色(只有管理员用户可以执行): SHOWROLES; 显示当前影响当前会话的角色: SHOWCURRENTROLES; 显示指定组的被分配到的所有角色(只有管理员用户和指定组内的用户可以执行) SHOWROLEGRANTGROUP(groupName); SHOW语句可以用来显示一个角色被授予的权限或者显示角色的一个特定对象的所有权限。 显示指定角色的所有被赋予的权限。(只有管理员用户和指定角色分配到的用户可以执行)。下面的语句也会显示任何列级的权限。 SHOWGRANTROLE(roleName); 显示指定对象的一个角色的所有被赋予的权限(只有管理员用户和指定角色分配到的用户可以执行)。下面的语句也会显示任何列级的权限。 SHOWGRANTROLE(roleName)on(OBJECT)(objectName); 本文转自 bxst 51CTO博客,原文链接:http://blog.51cto.com/13013670/1944036

优秀的个人博客,低调大师

windows 下xampp集成环境安装mongodb扩展

http://www.thegeekstuff.com/2015/10/php-mongodb-for-xampp 见这文章,写的很详细。 1、打开PHPINFO界面查看PHP版本,编译器版本,还有架构,线程安全。 2、然后去官网下载对应的dll文件。 3、复制到xampp/php/ext文件夹下 4、到xampp/php/php.in下加上extension=刚添加的dll文件 5、去修改环境变量PATH,把php的路径加上 6、重启Apache,查看PHPinfo有没有mongodb扩展 本文转自 努力的C 51CTO博客,原文链接:http://blog.51cto.com/fulin0532/1920341

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册