热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

mysql执行ddl_MySQL存储过程中执行DDL

一、定期增加表分区1、增加表分区例CREATEDEFINERroot127.0.0.1PROCEDUREp_create_Partition(INdatabaseNameVARCH

一、定期增加表分区

1、增加表分区例

CREATE DEFINER=`root`@`127.0.0.1` PROCEDURE `p_create_Partition`(IN databaseName VARCHAR(50),IN tableName VARCHAR(50))

L_END:BEGIN

DECLARE V_SQL VARCHAR(500);

DECLARE D1 VARCHAR(20) DEFAULT 0;

DECLARE D2 VARCHAR(20) DEFAULT 0;

SELECT CONCAT(‘p‘,DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL 2 day),‘%Y%m%d‘)) INTO D1;

SELECT CONCAT(‘‘‘‘,DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL 2 day),‘%Y-%m-%d‘),‘‘‘‘) INTO D2;

SET V_SQL=CONCAT(‘ALTER TABLE ‘,databaseName,‘.‘,tableName,‘ REORGANIZE PARTITION pmax INTO ( PARTITION ‘,D1,‘ VALUES LESS THAN (‘,D2,‘),‘

‘PARTITION pmax VALUES LESS THAN (MAXVALUE))‘);

set @V_SQL=V_SQL;

PREPARE stmt FROM @v_sql;

EXECUTE stmt;

DEALLOCATE PREPARE stmt;

END

2、定时器

1)crontab

#################################

## mysql add partition

##       2018

#################################

30 6 * * * /u01/dba_scripts/mysql_add_partition/mysql_add_partition_tables.sh

2)脚本

cat /u01/dba_scripts/mysql_add_partition/mysql_add_partition_tables.sh

#!/bin/bash

##############################

##

##

##############################

logdir=/u01/dba_scripts/mysql_add_partition

exec >> $logdir/all_out.log 2>&1

startdate=`date +%Y-%m-%d\ %H:%M:%S`

echo "Start mysql_add_partition,$startdate"

user=root

password=xxxxxxxxxx

host=127.0.0.1

t=`mysql -u"$user" -p"$password" -h"$host" -e"select tab_name from dbadmin.part_tables"|tail -n +2`

for i in $t

do

echo "exec table $i:"

j=`mysql -u"$user" -p"$password" -h"$host" -e"select db from dbadmin.part_tables where tab_name=‘$i‘"|tail -n +2`

mysql -u"$user" -p"$password" -h"$host"  -e "call dbadmin.p_create_Partition(‘$j‘,‘$i‘)" #>> "$logdir"/mylog.log 2>&1

done

enddate=`date +%Y-%m-%d\ %H:%M:%S`

echo "End mysql_add_partition,$enddate"

echo ""

二、定期删除表分区

1、删除表分区

create procedure dbadmin.tab_drop_partition()

begin

DECLARE pstring_drop_part Varchar(1000);

DECLARE part_name VARCHAR(20);

set part_name = concat(‘p‘, date_format( DATE_SUB(CURDATE(), INTERVAL 6 day),‘%Y%m%d‘));

set pstring_drop_part =concat(‘alter table ifpay_ccpay.spider_alive_report drop partition ‘,part_name);

select pstring_drop_part;

Execute Immediate pstring_drop_part;

end;

2、定时器

1)定时器

2)脚本

cat mysql_drop_partition_tables.sh #!/bin/bash################################ drop partition## 2018/12/25##############################logdir=/u01/dba_scripts/mysql_drop_partitionexec >> $logdir/drop_part_out.log 2>&1startdate=`date +%Y-%m-%d\ %H:%M:%S`echo "$startdate,Start mysql_drop_partition"user=rootpassword=xxxxxxxxxhost=127.0.0.1mysql -u"$user" -p"$password" -h"$host"  -e "call dbadmin.tab_drop_partition()"enddate=`date +%Y-%m-%d\ %H:%M:%S`echo "$enddate,End mysql_drop_partition"echo ""



推荐阅读
  • 本文介绍了在MacOS系统上安装MySQL的步骤,并详细说明了如何设置MySQL服务的开机启动和如何修改MySQL的密码。通过下载MySQL的macos版本并按照提示一步一步安装,在系统偏好设置中可以找到MySQL的图标进行设置。同时,还介绍了通过终端命令来修改MySQL的密码的具体操作步骤。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • 如何自行分析定位SAP BSP错误
    The“BSPtag”Imentionedintheblogtitlemeansforexamplethetagchtmlb:configCelleratorbelowwhichi ... [详细]
  • 电话号码的字母组合解题思路和代码示例
    本文介绍了力扣题目《电话号码的字母组合》的解题思路和代码示例。通过使用哈希表和递归求解的方法,可以将给定的电话号码转换为对应的字母组合。详细的解题思路和代码示例可以帮助读者更好地理解和实现该题目。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 本文介绍了一种划分和计数油田地块的方法。根据给定的条件,通过遍历和DFS算法,将符合条件的地块标记为不符合条件的地块,并进行计数。同时,还介绍了如何判断点是否在给定范围内的方法。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • 成功安装Sabayon Linux在thinkpad X60上的经验分享
    本文分享了作者在国庆期间在thinkpad X60上成功安装Sabayon Linux的经验。通过修改CHOST和执行emerge命令,作者顺利完成了安装过程。Sabayon Linux是一个基于Gentoo Linux的发行版,可以将电脑快速转变为一个功能强大的系统。除了作为一个live DVD使用外,Sabayon Linux还可以被安装在硬盘上,方便用户使用。 ... [详细]
  • 本文介绍了C函数ispunct()的用法及示例代码。ispunct()函数用于检查传递的字符是否是标点符号,如果是标点符号则返回非零值,否则返回零。示例代码演示了如何使用ispunct()函数来判断字符是否为标点符号。 ... [详细]
  • 高质量SQL书写的30条建议
    本文提供了30条关于优化SQL的建议,包括避免使用select *,使用具体字段,以及使用limit 1等。这些建议是基于实际开发经验总结出来的,旨在帮助读者优化SQL查询。 ... [详细]
author-avatar
干杯13ds_198
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有