import datetime import pymysql import pymysql.cursors tables_schdule=["talbe1","table2","table3","table4","table5"] x = datetime.date.today().replace(day=1) y = datetime.timedelta(days=1) last_month = (x-y…
我们在测试过程中,可能需要到数据库中拉去一些数据,为从测试准备.比如最近在做接口性能测试的时候,就需要很多数据来支撑,所以就需要的数据库去查询数据,下面就是python3 查询 mysql 并且保存到文件中,然后为接口做测试做准备. #coding=utf-8 import pymysql as MySQLdb #这里是python3 如果你是python2.x的话,import MySQLdb host = xxxx user = xxxx passwd = xxxx port = xxxx…
标签:SQL SERVER/MSSQL SERVER/数据库/DBA/表分区 概述 在很多业务场景下我们需要对一些记录量比较大的表进行分区,同时为了保证性能需要将一些旧的数据进行归档.在分区表很多的情况下如果每一次归档都需要人工干预的话工程量是比较大的而且也容易发生纰漏.接下来分享一个自己编写的自动归档分区数据的脚本,原理是分区表和归档表使用相同的分区方案,循环利用当前的文件组. 一.创建测试数据 ----01创建文件组 USE [master] GO ALTER DATABASE [chenm…
标签:SQL SERVER/MSSQL SERVER/数据库/DBA/表分区 概述 在很多业务场景下我们需要对一些记录量比较大的表进行分区,同时为了保证性能需要将一些旧的数据进行归档.在分区表很多的情况下如果每一次归档都需要人工干预的话工程量是比较大的而且也容易发生纰漏.接下来分享一个自己编写的自动归档分区数据的脚本,原理是分区表和归档表使用相同的分区方案,循环利用当前的文件组. 一.创建测试数据 ----01创建文件组 USE [master] GO ALTER DATABASE [chenm…
公司内做的项目是工厂内的,一般工厂内数据要求的是实时性,很久之前的数据可以自行删除处理,我们数据库用的oracle,所以就想着写一个脚本来删除,这样的话,脚本不管放在那里使用都可以达到效果 由于服务器是windows,参照Oracle Shell Scripting中,我们写一下windows下的脚本 首先删除数据的sql语句写一下 DELETE FROM tablename WHERE createdtime<TRUNC(SYSDATE)-59; --删除59天前的数据 commit; --提…
1.测试添加分区和删除分区 ###添加删除range分区 (1)创建一个分区: CREATE TABLE titles (     emp_no      INT NOT NULL,     title       VARCHAR(50)     NOT NULL,     from_date   DATE            NOT NULL,     to_date     DATE,     KEY         (emp_no),     PRIMARY KEY (emp_no,ti…
项目集群搭建完成,数据库虽有做主从同步,但考虑到数据安全性,为了满足这个需求那么要每天对数据备份处理, 但每天手动进行备份处理太过于被动,而且白天用户访问,会有数据变化以及在备份时会影响服务器正常运行的性能, 所以考虑写一个脚本,并制定一个定时任务进行执行脚本备份数据: #!/bin/bash###数据库定时备份,并将备份的库进行打包压缩user=rootpasswd=123456back_path=/vdb1/mysql/backupdata_name=zmq123date=`date +%Y…
出现的背景: 公司做了一个redis相关的项目,其中mysql存储了很多统计数据.比如客户端上报的数据,redis实例的数据,应用的数据,机器的数据等.每天都在上报,采集,由于没有定期删除,数据大量累积.大概有一年左右的数据,一个表的数据已经达到亿级别的.这样算下来,一个表的数据至少是几十GB了.因此需要删除过期的数据,暂时保留近三个月的统计数据. 解决方案: 基本每个表都有个字段叫create_time或者collect_time的字段,只要删除这个字段三个月之前的数据就ok了 delete…
删除mysql数据库中表分区数据 zabbix 几个大表创建了分区,由于磁盘空间告警,特将3月前的分区给予删除. 1.查看表的数据占用磁盘空间情况 2.登录mysql中,查看表的分区情况. 3.删除表中的分区 将history_uint 表中 p201812050000分区给予删除. alter table history_uint drop partition p201812050000;…
需求场景: 有一业务数据库,使用MySQL 5.5版本,每天会写入大量数据,需要不定期将多表中“指定时期前“的数据进行删除,在SQL SERVER中很容易实现,写几个WHILE循环就搞定,虽然MySQL中也存在类似功能,怎奈自己不精通,于是采用Python来实现 话不多少,上脚本: # coding: utf-8 import MySQLdb import time import os # delete config # 如果VIEW_OR_RUN = "VIEW",仅生成小批量删除的…