支付宝提现参考(企业付款)

2020-05-06 17:21:29 阅读:2208

1.支付宝商户平台开通企业付款接口2.接口签名和验签方式需要使用证书加签和验签(证书生成工具下载地址https://ideservice.alipay.com/ide/getPluginUrl.htm?clientType=assistant&platform=win&channelType=WEB)3.通过签名工具生成证书,上传到支付宝商户平台处,保存好账户的支付宝公钥证书、应用公钥证书和应用私钥4.官方下载phpsdk(https://opendocs.alipay.com/open/54/103419/),sdk中包含了所有的调用方式和示例文件5.发起转账的时候需要使用AopCertClient(带证书版)去调用,AopClient已经不支持6.此处是客户端调用类实例里面发起调用之前的完善方式都有7.实际操作/** *@param[]$body请求数据 *@paramint$type1转账到支付宝账户2转账到银行卡3收发现金红包 *@paramstring$identity_typeALIPAY_LOGON_ID支付宝登录号,支持邮箱和手机号格式ALIPAY_USER_ID支付宝的会员ID默认为支付宝登录号 *@throws\Exception */ publicfunctionwithdraw($body,$type=1,$identity_type="ALIPAY_LOGON_ID") { require_onceEXTEND_PATH."alipay/aop/request/AlipayFundTransUniTransferRequest.php"; if($type==1){ $body['product_code']="TRANS_ACCOUNT_NO_PWD"; $body['biz_scene']="DIRECT_TRANSFER"; }elseif($type==2){ $body['product_code']="TRANS_BANKCARD_NO_PWD"; $body['biz_scene']="DIRECT_TRANSFER"; }elseif($type==3){ $body['product_code']="STD_RED_PACKET"; $body['biz_scene']="PERSONAL_COLLECTION"; if(!isset($body['original_order_id'])||empty($body['original_order_id'])){ return['code'=>0,'msg'=>"原支付宝业务单号不能为空"]; } }else{ return['code'=>0,'msg'=>"提现类型参数错误"]; } $aop=self::getAop(); $request=new\AlipayFundTransUniTransferRequest(); $bizContent=json_encode($body); $request->setBizContent($bizContent); $result=$aop->execute($request); $responseNode=str_replace(".","_",$request->getApiMethodName())."_response"; $resultCode=$result->$responseNode->code; if(!empty($resultCode)&&$resultCode==10000){ return['code'=>1]; }else{ return['code'=>0,"msg"=>$result->$responseNode->msg."|".$result->$responseNode->sub_msg]; } } staticpublicfunctiongetAop() { require_onceEXTEND_PATH."alipay/aop/AopCertClient.php"; $aop=new\AopCertClient(); $aop->gatewayUrl='https://openapi.alipay.com/gateway.do'; $aop->appId=config("alipay.app_id"); $aop->rsaPrivateKey=config('alipay.rsaPrivateKey'); $aop->alipayrsaPublicKey=$aop->getPublicKey(config('alipay.alipay_cert_public_path'));//调用getPublicKey从支付宝公钥证书中提取公钥 $aop->apiVersion='1.0'; $aop->signType='RSA2'; $aop->postCharset='utf-8'; $aop->format='json'; $aop->isCheckAlipayPublicCert=true;//是否校验自动下载的支付宝公钥证书,如果开启校验要保证支付宝根证书在有效期内 $aop->appCertSN=$aop->getCertSN(config('alipay.app_cert_path'));//调用getCertSN获取证书序列号 $aop->alipayRootCertSN=$aop->getRootCertSN(config('alipay.root_cert_path'));//调用getRootCertSN获取支付宝根证书序列号 return$aop; }

直播小程序搭建 文档整理【基于微擎2.0框架】

2020-04-20 14:01:58 阅读:2531

第一步微擎应用的安装->微信直播应用安装注意事项:直播商城因启用了大量新特性,故只支持PHP7.1的环境安装教程:第一步:在线安装完成后,如果是NGINX环境,需要添加伪静态规则。location/addons/shimmer_liveshop/{indexindex.htmlindex.htmindex.php;if(!-e$request_filename){rewrite^/addons/shimmer_liveshop/(.*)$/addons/shimmer_liveshop/?s=$1last;}}将以上规则复制到location区域保存重启NGINX环境即可。注:如果是其他服务器环境,可忽略第一步。第二步:将模块【addons/shimmer_liveshop】内的目录下的bootstrap与storage权限设置为777.第三步:php7.1管理1).安装扩展fileinfo2).删除禁用函数putenv、proc_open第四步(建议正式运营时再配合此项):#缓存配置phpartisanconfig:cache#计划任务配置crontab-e添加计划任务*****php/项目目录【www/wwwroot/xiangzhaozhineng】/addons/shimmer_liveshop/artisanschedule:run>>/dev/null2>&1#运行脚本cd/项目目录/addons/shimmer_liveshop&&phpartisanschedule:run>>/dev/null2>&1运行以上脚本,时间设为每分钟。该脚本用于关闭未付款订单与自动确认收货时间。以上,为直播购物商城部署安装说明。//修改ALTERTABLE`zhibo_tygbb_cn`.`ims_shimmer_liveshop_lives`MODIFYCOLUMN`subtitle`varchar(255)CHARACTERSETutf8COLLATEutf8_general_ciNULLDEFAULT'进入'AFTER`is_black`;第二步腾讯云聊天接口配置在腾讯云控制台主页面的搜索栏搜索“即时通信IM”,按照步骤创建应用。创建完成后在应用的主页面里复制这三个选项。保存到直播商城的设置-系统设置-聊天配置,保持即可。第三步阿里云推流配置教程阿里云推流配置教程:accesskeys配置,鼠标点到阿里云控制台右上角的头像位置,选择accesskeys选项。如果没有accesskeys配置,需要点击右上角创建。如果已有,点击查看密码查看即可。拿到账号密码后复制到我们后台对应项里。2.阿里云直播流域名与阿里云推流域名的获取在阿里云控制台搜索框里搜索视频直播,如未开通,需要开通一下,开通时会选择计费方式,一般都会选择按使用流量计费。在直播控制台里点击域名管理,之后添加两个域名,一个用作直播流域名(观看),一个用作播放流域名(直播)。上图画圈的位置一定要是你自己备案过的域名,前缀可以随意取,不和自己现有的二级域名冲突就可以,创建两个,一个业务类型选择选择播流域名,一个业务类型选择播流域名。两个业务域名创建完成的效果是这样,之后先点击进入推流域名的域名配置项。点击修改配置,将URL鉴权关掉。然后点击进入播流域名在这个位置点击修改配置,将URL鉴权关掉。然后点击该位置添加推流信息,将你的两个业务域名绑定到一起。最后一步是解析域名,将创建的这两个业务域名解析生效。类型选择CNAME,记录值为直播控制台域名管理里的CNAME选项。解析生效后将两个域名复制到直播平台的设置-基础配置-推流配置,播流域名填到直播流域名中,阿里云推流域名填到推流域名中,推流域名前要加上rtmp://。添加完成后,请在微信公众平台登陆小程序,添加服务类目,工具-视频客服。然后在开发-接口设置中将两个视频流相关的接口打开,耐心等待十五分钟后即可正常开播。如不需要回放,这几项配置完成后就可以进行直播了。第四步配置直播回放阿里云OSS存储第一步:阿里云控制台搜索OSS。第二步:创建一个bucket。区域选择需要与您的推流域名区域保持一致,例如您的推流域名区域为华南1【必须选择华南1】,那您在这里也要选择华南1。读写权限需要给公众读写。第三步,创建bucket成功后,点击该bucket的域名管理。第四步:直播后台配置参数:将上面标记的两个值放到直播购物商城中的设置-基本配置-推流配置中去,标记为1的值在直播购物商城对应的位置叫做:阿里云OssBuckt,标记为2的值在直播购物商城对应的位置是:阿里云ossendpoint。配置完后,将直播购物商城推流配置里,阿里云直播apiurl填写上:live.aliyuncs.com。填写完三个值后进行保存,回放即可正常。注:回放生效时间约为三分钟。添加【忽略】直播控制台-域名管理-模板管理-录制配置-回调地址https://xxxxxx/addons/shimmer_liveshop/api/2/live-notity/live-record?type=record第五步直播审核教程操作前准备:小程序开通支付功能,准备好商户号,密钥,支付证书。1.直播购物商城后台-设置-底部导航自定义-点击重置导航按钮。操作该步骤后系统默认的导航配置将出现。2.将直播底部导航的状态修改为隐藏。3.添加商品一级分类与二级分类各一个。(二级分类需要有图片)4.添加1到2件商品,放到您创建的二级分类和放到一件商品标签中去。5.在设置-商城装修页面中的首页装修列表中,将您添加了商品的标签列表显示在首页。6.顶部标语与商城公告输入一些文案。7.设置-系统设置-支付配置中配置好支付。8.上传小程序,预览效果,检查有没有直播相关内容,检查支付是否正常。9.确定无问题后提交审核,等待通过。

使用快递鸟电子面单api 和 C-Lodop 打印订单 发货电子面单模板

2019-12-23 14:25:47 阅读:2802

大体流程1、本地安装C-Lodop云打印控件,下载安装即可,下载地址http://www.lodop.net/download.html,安装后需要定义IP端口默认8000,若你的项目使用了https可用8443,记录并保存端口如下2、html模板中与C-lodop建立连接如下获取保存的IP端口并组成连接地址映射到模板模板中引入js并初始化lodopfuncs.js如下varCreatedOKLodop7766=null;//====判断是否需要安装CLodop云打印服务器:====functionneedCLodop(){try{varua=navigator.userAgent;if(ua.match(/Windows\sPhone/i)!=null)returntrue;if(ua.match(/iPhone|iPod/i)!=null)returntrue;if(ua.match(/Android/i)!=null)returntrue;if(ua.match(/Edge\D?\d+/i)!=null)returntrue;if(ua.match(/QQBrowser/i)!=null)returnfalse;varverTrident=ua.match(/Trident\D?\d+/i);varverIE=ua.match(/MSIE\D?\d+/i);varverOPR=ua.match(/OPR\D?\d+/i);varverFF=ua.match(/Firefox\D?\d+/i);varx64=ua.match(/x64/i);if((verTrident==null)&&(verIE==null)&&(x64!==null))returntrue;elseif(verFF!==null){verFF=verFF[0].match(/\d+/);if(verFF[0]>=42)returntrue;}elseif(verOPR!==null){verOPR=verOPR[0].match(/\d+/);if(verOPR[0]>=32)returntrue;}elseif((verTrident==null)&&(verIE==null)){varverChrome=ua.match(/Chrome\D?\d+/i);if(verChrome!==null){verChrome=verChrome[0].match(/\d+/);if(verChrome[0]>=42)returntrue;};};returnfalse;}catch(err){returntrue;};};//====页面引用CLodop云打印必须的JS文件:====//if(needCLodop()){////让其它电脑的浏览器通过本机打印(适用例子)://oscript=document.createElement("script");//oscript.src="/CLodopfuncs.js";//varhead=document.head||document.getElementsByTagName("head")[0]||document.documentElement;//head.insertBefore(oscript,head.firstChild);////让本机浏览器打印(更优先)://varoscript=document.createElement("script");//oscript.src="http://localhost:8000/CLodopfuncs.js?priority=1";//varhead=document.head||document.getElementsByTagName("head")[0]||document.documentElement;//head.insertBefore(oscript,head.firstChild);//};//====获取LODOP对象的主过程:====functiongetLodop(oOBJECT,oEMBED){varstrHtmInstall="打印控件未安装!点击这里执行安装,安装后请刷新页面或重新进入。";varstrHtmUpdate="打印控件需要升级!点击这里执行升级,升级后请重新进入。";varstrHtm64_Install="打印控件未安装!点击这里执行安装,安装后请刷新页面或重新进入。";varstrHtm64_Update="打印控件需要升级!点击这里执行升级,升级后请重新进入。";varstrHtmFireFox="(注意:如曾安装过Lodop旧版附件npActiveXPLugin,请在【工具】->【附加组件】->【扩展】中先卸它)";varstrHtmChrome="(如果此前正常,仅因浏览器升级或重安装而出问题,需重新执行以上安装)";varstrCLodopInstall="CLodop云打印服务(localhost本地)未安装启动!点击这里执行安装,安装后请刷新页面。";varstrCLodopUpdate="CLodop云打印服务需升级!点击这里执行升级,升级后请刷新页面。";varLODOP;try{varisIE=(navigator.userAgent.indexOf('MSIE')>=0)||(navigator.userAgent.indexOf('Trident')>=0);if(needCLodop()){try{LODOP=getCLodop();}catch(err){};if(!LODOP&&document.readyState!=="complete"){alert("C-Lodop没准备好,请稍后再试!");return;};if(!LODOP){if(isIE)document.write(strCLodopInstall);elsedocument.documentElement.innerHTML=strCLodopInstall+document.documentElement.innerHTML;return;}else{if(CLODOP.CVERSION=0);//=====如果页面有Lodop就直接使用,没有则新建:==========if(oOBJECT!=undefined||oEMBED!=undefined){if(isIE)LODOP=oOBJECT;elseLODOP=oEMBED;}elseif(CreatedOKLodop7766==null){LODOP=document.createElement("object");LODOP.setAttribute("width",0);LODOP.setAttribute("height",0);LODOP.setAttribute("style","position:absolute;left:0px;top:-100px;width:0px;height:0px;");if(isIE)LODOP.setAttribute("classid","clsid:2105C259-1E0C-4534-8141-A753534CB4CA");elseLODOP.setAttribute("type","application/x-print-lodop");document.documentElement.appendChild(LODOP);CreatedOKLodop7766=LODOP;}elseLODOP=CreatedOKLodop7766;//=====Lodop插件未安装时提示下载地址:==========if((LODOP==null)||(typeof(LODOP.VERSION)=="undefined")){if(navigator.userAgent.indexOf('Chrome')>=0)document.documentElement.innerHTML=strHtmChrome+document.documentElement.innerHTML;if(navigator.userAgent.indexOf('Firefox')>=0)document.documentElement.innerHTML=strHtmFireFox+document.documentElement.innerHTML;if(is64IE)document.write(strHtm64_Install);elseif(isIE)document.write(strHtmInstall);elsedocument.documentElement.innerHTML=strHtmInstall+document.documentElement.innerHTML;returnLODOP;};};if(LODOP.VERSION

PHP后端如何整合接入七牛云+腾讯云直播

2019-12-06 09:07:12 阅读:3528

PHP后端如何整合接入七牛云+腾讯云直播七牛云相关1.对象存储创建一个存储空间请选择华东区域(配合代码内已写上传域名)参见文档对象存储>产品手册>存储区域并记录存储空间名称2.创建存储空间后绑定融合CDN加速域名(解析域名为CHAME)并记录域名3.进入个人中心->密钥管理创建密钥并记录AccessKey/SecretKey4.产品短视频SDK->授权管理购买授权(开发阶段可优先购买试用版关键是免费)5.产品短视频SDK->应用管理创建应用选择对应的授权根据安卓和IOS创建俩应用(谨慎填写应用包名)腾讯云相关(重头戏)1.需要用到的产品(云直播【域名管理直播SDK】即时通讯IM访问密钥云服务器【直播专用镜像】直播流量套餐包【直播SDK免费1年一年后需购买流量包获取SDK使用权】)1.小直播前端(参考文档https://cloud.tencent.com/document/product/454/38625)step1.1开通视频直播服务登录腾讯云官网,进入云直播管理控制台,如果服务还没有开通,单击【申请开通】。step1.2绑定直播域名按照相关政策要求,您需要添加自有的已备案域名才能使用腾讯云的CDN播放功能,请参见域名管理和CNAME配置进行配置。(推流拉流)step1.3获取SDK的测试License“小直播”是基于腾讯云LiteAVSDK实现推流和播放功能的,但您需要提前绑定License才能使用其提供的推流功能,您可以先按照如下步骤获取“小直播”所需要的测试License:1.在云直播管理控制台中单击进入移动直播License页面。2.填写【PackageName】为Android的包名,【BundleId】为iOS的BundleId。3.单击【免费创建】,创建成功后,页面会显示生成的License信息。请记录Key和LicenseUrl,便于在SDK初始化时使用。step1.4在应用管理中添加一个新的应用“小直播”基于腾讯云TIMSDK实现了文字聊天室和弹幕消息等互动功能,需要您先创建一个IM应用才能使用其提供的聊天室功能,您可以先按照如下步骤获取“小直播”所需要的SDKAppID和SecretKey两个重要信息:进入【云直播控制台】>【直播SDK】>【应用管理】,单击【创建应用】,待应用创建完成后,记录其SDKAppID信息。单击目标应用的SDKAppID,进入应用详情页面。选择【应用管理】页签,单击【编辑】,输入一个管理员名称(例如“admin”),单击【添加】按钮,之后再单击【确定】按钮。单击【查看密钥】,复制保存密钥信息SecretKey。2.小直播后台(参考官网文档https://cloud.tencent.com/document/product/454/15187)如何快速搭建一个后台?接下来我们将介绍如何用腾讯云的CVM云服务器搭建一个“小直播”后台,由于“小直播”后台的功能非常简单,所以一台简单的云服务就能解决问题,这大概需要花费您1小时的时间和大概67.5元的测试金。1.安装“小直播”的CVM镜像step1.1创建虚拟主机进入CVM控制台,单击【新建】开始创建云服务器。选择【自定义配置】选择符合您需求的虚拟主机,在镜像提供栏选择【镜像市场】,并单击【从镜像市场选择】进服务市场选取镜像。选中图中的【小直播镜像】,您可以直接在搜索栏中搜索。step1.2设置云服务器配置云服务器的访问密码,设置安全组。注意:安全组一定要放开80、443服务端口请妥善保管root密码,该密码将用于后续修改云服务器配置信息操作。step1.3查看云服务器信息付款后生成云服务器。请记录外网IP地址,将用于后续配置录制回调和终端集成操作。4.修改云服务器配置信息step4.1准备配置文件将以下内容粘贴到文本编辑器(如记事本),按照下方脚本中的注释填写各项内容,其中xxxx的部分在本地快速跑通“小直播”及本文前半部分均能找到对应的值#!/bin/bash echo"

Laravel Homestead的安装

2019-05-24 15:14:20 阅读:2372

LaravelHomestead的安装需要安装的软件:Virtualbox https://www.virtualbox.org/Vagrant https://www.vagrantup.com/downloads.html/ (这个下载的时候他一开始很慢,几分钟后突然提速飞一样的感觉)GIT https://git-scm.com/download/win官网为外网:建议使用使用境外服务器下载,再转接二次下载(比如宝塔的链接下载;然后再放到网站目录下载)我的Vagrant安装目录选择在D:/vagrant1.进入D:/Vagrant打开GitBashvagrantboxaddlaravel/homestead (等个十几分钟-------视网速而定关于这一步,网上有很多骚操作。我是不会使用的,因为他们的box镜像文件版本比较低大都在6.2.然而最新的都已经到了7.2.1,我喜欢最新的)vagrantboxlist (查看镜像是否安装完成:)3.克隆LaravelHomestead仓库到D:/vagrant/homesteadgitclonehttps://github.com/laravel/homestead.git进入文件夹cdhomesteadbashinit.sh4.建立你的密钥(如果你没有建立过)ssh-keygen-trsa (一路回车走下去,在默认目录下就有了,无需管理)5.配置Homestead.yaml文件 (在你的 D:/vagrant/homestead下面)文件开头有三条横线,我也不知道干啥的,看他不爽,删之!ip:"192.168.10.10"memory:2048cpus:1provider:virtualboxauthorize:~/.ssh/id_rsa.pubkeys:-~/.ssh/id_rsafolders:-map:D:/homesteadto:/home/vagrantsites:-map:www.a.comto:/home/vagrant/laravel/publicdatabases:-homestead上面内容需要改的就是,folders 和 sitesfolders---你需要映射到环境双向目录,map:本地 to:虚拟环境sites------虚拟环境解析地址 map:地址; to:虚拟环境根目录(一定是你项目的运行根目录)6.在你的(在你的 D:/vagrant/homestead下面)vagrantup 在开启你的OracleVMVirtualBox的情况下执行7.配置好hosts就可以愉快的写代码测试了。 192.168.10.10www.a.com**********注意事项访问你的www.a.com就会自动转至192.168.10.10环境。 因为你的线上实时共享目录是/home/vagrant/laravel/本地实时共享D:/homestead但是映射的运行根目录是/home/vagrant/laravel/public so你的在D:/homestead写个index.php是不行的,要写在D:/homestead/public下面

PHP各种正则匹配

2019-03-12 15:13:20 阅读:2758

1.匹配手机号码$rule="/^((13[0-9])|147|(15[0-35-9])|180|182|(18[5-9]))[0-9]{8}$/A";2.匹配邮箱$zhengze='/^[a-zA-Z0-9][a-zA-Z0-9._-]*\@[a-zA-Z0-9]+\.[a-zA-Z0-9\.]+$/A';3.电话号码匹配$rule='/^(\(((010)|(021)|(0\d{3,4}))\)(?)([0-9]{7,8}))|((010|021|0\d{3,4}))([-]{1,2})([0-9]{7,8})$/A';4.匹配url$rule='/^(([a-zA-Z]+)(:\/\/))?([a-zA-Z]+)\.(\w+)\.([\w.]+)(\/([\w]+)\/?)*(\/[a-zA-Z0-9]+\.(\w+))*(\/([\w]+)\/?)*(\?(\w+=?[\w]*))*((&?\w+=?[\w]*))*$/';5.匹配身份证号$rule='/^(([0-9]{15})|([0-9]{18})|([0-9]{17}x))$/';6.匹配邮编$rule='/^[1-9]\d{5}$/';7.匹配ip$rule='/^((([1-9])|((0[1-9])|([1-9][0-9]))|((00[1-9])|(0[1-9][0-9])|((1[0-9]{2})|(2[0-4][0-9])|(25[0-5]))))\.)((([0-9]{1,2})|(([0-1][0-9]{2})|(2[0-4][0-9])|(25[0-5])))\.){2}(([1-9])|((0[1-9])|([1-9][0-9]))|(00[1-9])|(0[1-9][0-9])|((1[0-9]{2})|(2[0-4][0-9])|(25[0-5])))$/';8.匹配时间$rule='/^(([1-2][0-9]{3}-)((([1-9])|(0[1-9])|(1[0-2]))-)((([1-9])|(0[1-9])|([1-2][0-9])|(3[0-1]))))(((([0-9])|(([0-1][0-9])|(2[0-3]))):(([0-9])|([0-5][0-9]))(:(([0-9])|([0-5][0-9])))?))?$/';9.utf8下匹配中文$rule='/([\x{4e00}-\x{9fa5}]){1}/u';匹配中文字符的正则表达式:[\u4e00-\u9fa5]评注:匹配中文还真是个头疼的事,有了这个表达式就好办了匹配双字节字符(包括汉字在内):[^\x00-\xff]评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)匹配空白行的正则表达式:\n\s*\r评注:可以用来删除空白行匹配HTML标记的正则表达式:]*>.*?|评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力匹配首尾空白字符的正则表达式:^\s*|\s*$评注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*评注:表单验证时很实用匹配网址URL的正则表达式:[a-zA-z]+://[^\s]*评注:网上流传的版本功能很有限,上面这个基本可以满足需求匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$评注:表单验证时很实用匹配国内电话号码:\d{3}-\d{8}|\d{4}-\d{7}评注:匹配形式如0511-4405222或021-87888822匹配腾讯QQ号:[1-9][0-9]{4,}评注:腾讯QQ号从10000开始匹配中国邮政编码:[1-9]\d{5}(?!\d)评注:中国邮政编码为6位数字匹配身份证:\d{15}|\d{18}评注:中国的身份证为15位或18位匹配ip地址:\d+\.\d+\.\d+\.\d+评注:提取ip地址时有用匹配特定数字:^[1-9]\d*$  //匹配正整数^-[1-9]\d*$ //匹配负整数^-?[1-9]\d*$  //匹配整数^[1-9]\d*|0$ //匹配非负整数(正整数+0)^-[1-9]\d*|0$  //匹配非正整数(负整数+0)^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$  //匹配正浮点数^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ //匹配负浮点数^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$ //匹配浮点数^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$  //匹配非负浮点数(正浮点数+0)^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$  //匹配非正浮点数(负浮点数+0)评注:处理大量数据时有用,具体应用时注意修正匹配特定字符串:^[A-Za-z]+$  //匹配由26个英文字母组成的字符串^[A-Z]+$  //匹配由26个英文字母的大写组成的字符串^[a-z]+$  //匹配由26个英文字母的小写组成的字符串^[A-Za-z0-9]+$  //匹配由数字和26个英文字母组成的字符串^\w+$  //匹配由数字、26个英文字母或者下划线组成的字符串

MySQL创建用户与授权方法

2019-03-11 16:23:44 阅读:2836

-一,创建用户:命令:CREATEUSER'username'@'host'IDENTIFIEDBY'password';说明:username-你将创建的用户名,host-指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符%.password-该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器.例子:CREATEUSER'dog'@'localhost'IDENTIFIEDBY'123456';CREATEUSER'pig'@'192.168.1.101_'IDENDIFIEDBY'123456';CREATEUSER'root'@'%'IDENTIFIEDBY'root';CREATEUSER'pig'@'%'IDENTIFIEDBY'';CREATEUSER'pig'@'%';二,授权:命令:GRANTprivilegesONdatabasename.tablenameTO'username'@'host'说明:privileges-用户的操作权限,如SELECT,INSERT,UPDATE等(详细列表见该文最后面).如果要授予所的权限则使用ALL.;databasename-数据库名,tablename-表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示,如*.*.例子:GRANTSELECT,INSERTONtest.userTO'pig'@'%';GRANTALLON*.*TO'pig'@'%';注意:用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令:GRANTprivilegesONdatabasename.tablenameTO'username'@'host'WITHGRANTOPTION;flushprivileges;刷新授权三.设置与更改用户密码3.1通过登录mysql系统,#mysql-uroot-pEnterpassword:【输入原来的密码】mysql>usemysql;mysql>updateusersetpassword=passworD("test")whereuser='root';mysql>flushprivileges;mysql>exit;命令:SETPASSWORDFOR'username'@'host'=PASSWORD('newpassword');如果是当前登陆用户用SETPASSWORD=PASSWORD("newpassword");例子:SETPASSWORDFOR'pig'@'%'=PASSWORD("123456");3.2删除用户:DeleteFROMuserWhereUser='test'andHost='localhost';然后刷新权限;删除账户及权限:>dropuser用户名@'%';        >dropuser用户名@localhost;四.撤销用户权限命令:REVOKEprivilegeONdatabasename.tablenameFROM'username'@'host';说明:privilege,databasename,tablename-同授权部分.例子:REVOKESELECTON*.*FROM'pig'@'%';注意:假如你在给用户'pig'@'%'授权的时候是这样的(或类似的):GRANTSELECTONtest.userTO'pig'@'%',则在使用REVOKESELECTON*.*FROM'pig'@'%';命令并不能撤销该用户对test数据库中user表的SELECT操作.相反,如果授权使用的是GRANTSELECTON*.*TO'pig'@'%';则REVOKESELECTONtest.userFROM'pig'@'%';命令也不能撤销该用户对test数据库中user表的Select权限.具体信息可以用命令SHOWGRANTSFOR'pig'@'%';查看.五.删除用户命令:DROPUSER'username'@'host';附表:在MySQL中的操作权限ALTERAllowsuseofALTERTABLE.ALTERROUTINEAltersordropsstoredroutines.CREATEAllowsuseofCREATETABLE.CREATEROUTINECreatesstoredroutines.CREATETEMPORARYTABLEAllowsuseofCREATETEMPORARYTABLE.CREATEUSERAllowsuseofCREATEUSER,DROPUSER,RENAMEUSER,andREVOKEALLPRIVILEGES.CREATEVIEWAllowsuseofCREATEVIEW.DELETEAllowsuseofDELETE.DROPAllowsuseofDROPTABLE.EXECUTEAllowstheusertorunstoredroutines.FILEAllowsuseofSELECT...INTOOUTFILEandLOADDATAINFILE.INDEXAllowsuseofCREATEINDEXandDROPINDEX.INSERTAllowsuseofINSERT.LOCKTABLESAllowsuseofLOCKTABLESontablesforwhichtheuseralsohasSELECTprivileges.PROCESSAllowsuseofSHOWFULLPROCESSLIST.RELOADAllowsuseofFLUSH.REPLICATIONAllowstheusertoaskwhereslaveormasterCLIENTserversare.REPLICATIONSLAVENeededforreplicationslaves.SELECTAllowsuseofSELECT.SHOWDATABASESAllowsuseofSHOWDATABASES.SHOWVIEWAllowsuseofSHOWCREATEVIEW.SHUTDOWNAllowsuseofmysqladminshutdown.SUPERAllowsuseofCHANGEMASTER,KILL,PURGEMASTERLOGS,andSETGLOBALSQLstatements.Allowsmysqladmindebugcommand.Allowsoneextraconnectiontobemadeifmaximumconnectionsarereached.UPDATEAllowsuseofUPDATE.USAGEAllowsconnectionwithoutanyspecificprivileges.

上报错误