shell實現,將mysql每個預存程序匯出為單個檔案,

來源:互聯網
上載者:User

shell實現,將mysql每個預存程序匯出為單個檔案,

#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(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




相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.