• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

shell实现,将mysql每个存储过程导出为单个文件_MySQL

mysql 搞代码 4年前 (2022-01-09) 26次浏览 已收录 0个评论
#shell实现,将mysql中存储过程代码直接导出为文件dbcn="mysql -h172.16.1.194 -uroot -p123456 ";db=BCReport_Sync_Executor;ii=0;ct=`$dbcn -N -e " select count(1) from mysql.proc as p where 1=1 and p.db='$db' and p.type like 'P%';"`;mkdir -p /chenenhui/$dbwhile true;doif [ $ii -lt $ct ]then p=$ii;let ii++;echo p=$p echo ii=$iispname=`$dbcn -N -e " select p.name from mysql.proc as p where 1=1 and p.db='$db' and p.type like 'P%' limit $p,1;"`;echo spname=$spnamesleep 0;ss=`$dbcn -N -e " SELECT   CONCAT('DELIMI','TER ',REPEAT(CHAR(36),2),'USE ',CHAR(96),  p.db,CHAR(96),REPEAT(CHAR(36),2),'DROP PROCEDURE IF EXISTS ',CHAR(96),p.name,CHAR(96), REPEAT(CHAR(36),2),'CREATE DEFINER=',CHAR(96),LEFT(DEFINER, -1+LOCATE('@',DEFINER)),CHAR(96),'@',CHAR(96),RIGHT(DEFINER,LENGTH(DEFINER)-LOCATE('@',DEFINER)),CHAR(96),' PROCEDURE ',CHAR(96),p.name ,CHAR<div style="color:transparent">本文来源gaodai.ma#com搞##代!^码网(</div>(96),'(',p.param_list,')', p.body_utf8 ,REPEAT(CHAR(36),2) ,'DELIMI','TER ;' ) AS sql_create FROM mysql.proc AS p WHERE 1=1 and p.db='$db' and p.type LIKE 'P%'AND p.name ='$spname';"`echo -e "$ss" > /chenenhui/$db/$spname.sqlecho $spnameelse echo '_while finished';exit 0;fidone

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:shell实现,将mysql每个存储过程导出为单个文件_MySQL
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址