Блог Синявского
  • Разделы
  • Метки
  • Все статьи

Скрипт партиционирования mysql

1

Скрипт партиционирования

Переносим записи в архивную таблицу. Для этого напишем скрипт который по крону будет выполнять набор действий один раз месяц. - Создание таблицы назначения - Копирование записей в таблицу - Удаление старых записей из таблицы источника

Напишем скрипт

Создадим и отредактируем скрипт

nano /scripts/archive_table.sh

PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin

db='db_name'
username='username'
password='password'
source_table='source_table'
month=`date +%Y-%m-%d -d "1 month ago"`
destination_table='$month_table'

create_query="CREATE TABLE "$destination_table" LIKE "$source_table";"
insert_query="INSERT INTO "$destination_table" SELECT source.* FROM "$source_table" as source WHERE add_time < '"$month"';"
delete_query="DELETE FROM "$source_table" WHERE add_time < '"$month"';"

echo $create_query
echo $insert_query
echo $delete_query

mysql -u$username -p$password -e "$create_query" $db && 
mysql -u$username -p$password -e "$insert_query" $db &&
mysql -u$username -p$password -e "$delete_query" $db

Дадим права на выполнение

# chmod +x /scripts/archive_table.sh

Добавим в cron

# crontab -e

0 0 1 * * /scripts/archive_table.sh

P.S. Это, конечно, не партиционирование, но иногда бывает полезным



  • ← сюда
  • туда →

comments powered by Disqus

Опубликовано

08.02.2016

Обновление

17.07.2017

Категории

mysql

Тэги

  • bash 10
  • mysql 7
  • script 3

Всегда на связи

  • Блог Синявского - Ничего не переносить на завтра, это тоже проблема с прокастинацией?
  • © Алексей Синявский, по лицензии CC BY-SA если не указано иное.
  • С использованием Pelican. Тема: Elegant от Talha Mansoor