此語句有鎖表的情況,請慎重使用
1、需要設置主鍵
ALTER TABLE `xxxx_out` PARTITION BY RANGE (to_seconds(`out_date`))
PARTITIONS 120 (
PARTITION p202001 VALUES LESS THAN (63747734400) ENGINE=InnoDB,
PARTITION p202002 VALUES LESS THAN (63750240000) ENGINE=InnoDB,
PARTITION p202003 VALUES LESS THAN (63752918400) ENGINE=InnoDB,
PARTITION p202004 VALUES LESS THAN (63755510400) ENGINE=InnoDB,
PARTITION p202005 VALUES LESS THAN (63758188800) ENGINE=InnoDB,
PARTITION p202006 VALUES LESS THAN (63760780800) ENGINE=InnoDB,
PARTITION p202007 VALUES LESS THAN (63763459200) ENGINE=InnoDB,
PARTITION p202008 VALUES LESS THAN (63766137600) ENGINE=InnoDB,
PARTITION p202009 VALUES LESS THAN (63768729600) ENGINE=InnoDB,
PARTITION p202010 VALUES LESS THAN (63771408000) ENGINE=InnoDB,
PARTITION p202011 VALUES LESS THAN (63774000000) ENGINE=InnoDB,
PARTITION p202012 VALUES LESS THAN (63776678400) ENGINE=InnoDB,
PARTITION p202101 VALUES LESS THAN (63779356800) ENGINE=InnoDB,
PARTITION p202102 VALUES LESS THAN (63781776000) ENGINE=InnoDB,
PARTITION p202103 VALUES LESS THAN (63784454400) ENGINE=InnoDB,
PARTITION p202104 VALUES LESS THAN (63787046400) ENGINE=InnoDB,
PARTITION p202105 VALUES LESS THAN (63789724800) ENGINE=InnoDB,
PARTITION p202106 VALUES LESS THAN (63792316800) ENGINE=InnoDB,
PARTITION p202107 VALUES LESS THAN (63794995200) ENGINE=InnoDB,
PARTITION p202108 VALUES LESS THAN (63797673600) ENGINE=InnoDB,
PARTITION p202109 VALUES LESS THAN (63800265600) ENGINE=InnoDB,
PARTITION p202110 VALUES LESS THAN (63802944000) ENGINE=InnoDB,
PARTITION p202111 VALUES LESS THAN (63805536000) ENGINE=InnoDB,
PARTITION p202112 VALUES LESS THAN (63808214400) ENGINE=InnoDB,
PARTITION p202201 VALUES LESS THAN (63810892800) ENGINE=InnoDB,
PARTITION p202202 VALUES LESS THAN (63813312000) ENGINE=InnoDB,
PARTITION p202203 VALUES LESS THAN (63815990400) ENGINE=InnoDB,
PARTITION p202204 VALUES LESS THAN (63818582400) ENGINE=InnoDB,
PARTITION p202205 VALUES LESS THAN (63821260800) ENGINE=InnoDB,
PARTITION p202206 VALUES LESS THAN (63823852800) ENGINE=InnoDB,
PARTITION p202207 VALUES LESS THAN (63826531200) ENGINE=InnoDB,
PARTITION p202208 VALUES LESS THAN (63829209600) ENGINE=InnoDB,
PARTITION p202209 VALUES LESS THAN (63831801600) ENGINE=InnoDB,
PARTITION p202210 VALUES LESS THAN (63834480000) ENGINE=InnoDB,
PARTITION p202211 VALUES LESS THAN (63837072000) ENGINE=InnoDB,
PARTITION p202212 VALUES LESS THAN (63839750400) ENGINE=InnoDB,
PARTITION p202301 VALUES LESS THAN (63842428800) ENGINE=InnoDB,
PARTITION p202302 VALUES LESS THAN (63844848000) ENGINE=InnoDB,
PARTITION p202303 VALUES LESS THAN (63847526400) ENGINE=InnoDB,
PARTITION p202304 VALUES LESS THAN (63850118400) ENGINE=InnoDB,
PARTITION p202305 VALUES LESS THAN (63852796800) ENGINE=InnoDB,
PARTITION p202306 VALUES LESS THAN (63855388800) ENGINE=InnoDB,
PARTITION p202307 VALUES LESS THAN (63858067200) ENGINE=InnoDB,
PARTITION p202308 VALUES LESS THAN (63860745600) ENGINE=InnoDB,
PARTITION p202309 VALUES LESS THAN (63863337600) ENGINE=InnoDB,
PARTITION p202310 VALUES LESS THAN (63866016000) ENGINE=InnoDB,
PARTITION p202311 VALUES LESS THAN (63868608000) ENGINE=InnoDB,
PARTITION p202312 VALUES LESS THAN (63871286400) ENGINE=InnoDB,
PARTITION p202401 VALUES LESS THAN (63873964800) ENGINE=InnoDB,
PARTITION p202402 VALUES LESS THAN (63876470400) ENGINE=InnoDB,
PARTITION p202403 VALUES LESS THAN (63879148800) ENGINE=InnoDB,
PARTITION p202404 VALUES LESS THAN (63881740800) ENGINE=InnoDB,
PARTITION p202405 VALUES LESS THAN (63884419200) ENGINE=InnoDB,
PARTITION p202406 VALUES LESS THAN (63887011200) ENGINE=InnoDB,
PARTITION p202407 VALUES LESS THAN (63889689600) ENGINE=InnoDB,
PARTITION p202408 VALUES LESS THAN (63892368000) ENGINE=InnoDB,
PARTITION p202409 VALUES LESS THAN (63894960000) ENGINE=InnoDB,
PARTITION p202410 VALUES LESS THAN (63897638400) ENGINE=InnoDB,
PARTITION p202411 VALUES LESS THAN (63900230400) ENGINE=InnoDB,
PARTITION p202412 VALUES LESS THAN (63902908800) ENGINE=InnoDB,
PARTITION p202501 VALUES LESS THAN (63905587200) ENGINE=InnoDB,
PARTITION p202502 VALUES LESS THAN (63908006400) ENGINE=InnoDB,
PARTITION p202503 VALUES LESS THAN (63910684800) ENGINE=InnoDB,
PARTITION p202504 VALUES LESS THAN (63913276800) ENGINE=InnoDB,
PARTITION p202505 VALUES LESS THAN (63915955200) ENGINE=InnoDB,
PARTITION p202506 VALUES LESS THAN (63918547200) ENGINE=InnoDB,
PARTITION p202507 VALUES LESS THAN (63921225600) ENGINE=InnoDB,
PARTITION p202508 VALUES LESS THAN (63923904000) ENGINE=InnoDB,
PARTITION p202509 VALUES LESS THAN (63926496000) ENGINE=InnoDB,
PARTITION p202510 VALUES LESS THAN (63929174400) ENGINE=InnoDB,
PARTITION p202511 VALUES LESS THAN (63931766400) ENGINE=InnoDB,
PARTITION p202512 VALUES LESS THAN (63934444800) ENGINE=InnoDB,
PARTITION p202601 VALUES LESS THAN (63937123200) ENGINE=InnoDB,
PARTITION p202602 VALUES LESS THAN (63939542400) ENGINE=InnoDB,
PARTITION p202603 VALUES LESS THAN (63942220800) ENGINE=InnoDB,
PARTITION p202604 VALUES LESS THAN (63944812800) ENGINE=InnoDB,
PARTITION p202605 VALUES LESS THAN (63947491200) ENGINE=InnoDB,
PARTITION p202606 VALUES LESS THAN (63950083200) ENGINE=InnoDB,
PARTITION p202607 VALUES LESS THAN (63952761600) ENGINE=InnoDB,
PARTITION p202608 VALUES LESS THAN (63955440000) ENGINE=InnoDB,
PARTITION p202609 VALUES LESS THAN (63958032000) ENGINE=InnoDB,
PARTITION p202610 VALUES LESS THAN (63960710400) ENGINE=InnoDB,
PARTITION p202611 VALUES LESS THAN (63963302400) ENGINE=InnoDB,
PARTITION p202612 VALUES LESS THAN (63965980800) ENGINE=InnoDB,
PARTITION p202701 VALUES LESS THAN (63968659200) ENGINE=InnoDB,
PARTITION p202702 VALUES LESS THAN (63971078400) ENGINE=InnoDB,
PARTITION p202703 VALUES LESS THAN (63973756800) ENGINE=InnoDB,
PARTITION p202704 VALUES LESS THAN (63976348800) ENGINE=InnoDB,
PARTITION p202705 VALUES LESS THAN (63979027200) ENGINE=InnoDB,
PARTITION p202706 VALUES LESS THAN (63981619200) ENGINE=InnoDB,
PARTITION p202707 VALUES LESS THAN (63984297600) ENGINE=InnoDB,
PARTITION p202708 VALUES LESS THAN (63986976000) ENGINE=InnoDB,
PARTITION p202709 VALUES LESS THAN (63989568000) ENGINE=InnoDB,
PARTITION p202710 VALUES LESS THAN (63992246400) ENGINE=InnoDB,
PARTITION p202711 VALUES LESS THAN (63994838400) ENGINE=InnoDB,
PARTITION p202712 VALUES LESS THAN (63997516800) ENGINE=InnoDB,
PARTITION p202801 VALUES LESS THAN (64000195200) ENGINE=InnoDB,
PARTITION p202802 VALUES LESS THAN (64002700800) ENGINE=InnoDB,
PARTITION p202803 VALUES LESS THAN (64005379200) ENGINE=InnoDB,
PARTITION p202804 VALUES LESS THAN (64007971200) ENGINE=InnoDB,
PARTITION p202805 VALUES LESS THAN (64010649600) ENGINE=InnoDB,
PARTITION p202806 VALUES LESS THAN (64013241600) ENGINE=InnoDB,
PARTITION p202807 VALUES LESS THAN (64015920000) ENGINE=InnoDB,
PARTITION p202808 VALUES LESS THAN (64018598400) ENGINE=InnoDB,
PARTITION p202809 VALUES LESS THAN (64021190400) ENGINE=InnoDB,
PARTITION p202810 VALUES LESS THAN (64023868800) ENGINE=InnoDB,
PARTITION p202811 VALUES LESS THAN (64026460800) ENGINE=InnoDB,
PARTITION p202812 VALUES LESS THAN (64029139200) ENGINE=InnoDB,
PARTITION p202901 VALUES LESS THAN (64031817600) ENGINE=InnoDB,
PARTITION p202902 VALUES LESS THAN (64034236800) ENGINE=InnoDB,
PARTITION p202903 VALUES LESS THAN (64036915200) ENGINE=InnoDB,
PARTITION p202904 VALUES LESS THAN (64039507200) ENGINE=InnoDB,
PARTITION p202905 VALUES LESS THAN (64042185600) ENGINE=InnoDB,
PARTITION p202906 VALUES LESS THAN (64044777600) ENGINE=InnoDB,
PARTITION p202907 VALUES LESS THAN (64047456000) ENGINE=InnoDB,
PARTITION p202908 VALUES LESS THAN (64050134400) ENGINE=InnoDB,
PARTITION p202909 VALUES LESS THAN (64052726400) ENGINE=InnoDB,
PARTITION p202910 VALUES LESS THAN (64055404800) ENGINE=InnoDB,
PARTITION p202911 VALUES LESS THAN (64057996800) ENGINE=InnoDB,
PARTITION p202912 VALUES LESS THAN (64060675200) ENGINE=InnoDB
);
2、查看分區表數據
備份是容災的基礎,是指為防止系統出現操作失誤或系統故障導致數據丟失,而將全部或部分數據集合從應用主機的硬盤或陣列復制到其它的存儲介質的過程。而對于一些網站、系統來說,數據庫就是一切,所以做好數據庫的備份是至關重要的!
備份是什么?
為什么要備份
容災方案建設
存儲介質
光盤 磁帶 硬盤 磁盤陣列 DAS:直接附加存儲 NAS:網絡附加存儲 SAN:存儲區域網絡 云存儲
這里主要以本地磁盤為存儲介質講一下計劃任務的添加使用,基本的備份腳本,其它存儲介質只是介質的訪問方式可能不大一樣。
1、查看磁盤空間情況:
既然是定時備份,就要選擇一個空間充足的磁盤空間,避免出現因空間不足導致備份失敗,數據丟失的惡果!
存儲到當前磁盤這是最簡單,卻是最不推薦的;服務器有多塊硬盤,最好是把備份存放到另一塊硬盤上;有條件就選擇更好更安全的存儲介質;
# df -hFilesystem
2、創建備份目錄:
上面我們使用命令看出/home下空間比較充足,所以可以考慮在/home保存備份文件;
cd /home mkdir backupcd backup
3、創建備份Shell腳本:
注意把以下命令中的DatabaseName換為實際的數據庫名稱;
當然,你也可以使用其實的命名規則!
vi bkDatabaseName.sh
輸入/粘貼以下內容:
#!/bin/bash mysqldump -uusername -ppassword DatabaseName > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql
對備份進行壓縮:
#!/bin/bash mysqldump -uusername -ppassword DatabaseName | gzip > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql.gz
注意:
把 username 替換為實際的用戶名;
把 password 替換為實際的密碼;
把 DatabaseName 替換為實際的數據庫名;
4、添加可執行權限:
chmod u+x bkDatabaseName.sh
添加可執行權限之后先執行一下,看看腳本有沒有錯誤,能不能正常使用;
./bkDatabaseName.sh
5、添加計劃任務
檢測或安裝 crontab
確認crontab是否安裝:
執行 crontab 命令如果報 command not found,就表明沒有安裝
如時沒有安裝 crontab,需要先安裝它,具體步驟請參考:
CentOS下使用yum命令安裝計劃任務程序crontab
使用rpm命令從CentOS系統盤安裝計劃任務程序crontab
添加計劃任務
執行命令:
crontab -e
這時就像使用vi編輯器一樣,可以對計劃任務進行編輯。
輸入以下內容并保存:
*/1 * * * * /home/backup/bkDatabaseName.sh
具體是什么意思呢?
意思是每一分鐘執行一次shell腳本“/home/backup/bkDatabaseName.sh”。
6、測試任務是否執行
很簡單,我們就執行幾次“ls”命令,看看一分鐘過后文件有沒有被創建就可以了!
如果任務執行失敗了,可以通過以下命令查看任務日志:
# tail -f /var/log/cron
輸出類似如下:
Sep 30 14:01:01 bogon run-parts(/etc/cron.hourly)[2503]: starting 0anacron Sep 30 14:01:01 bogon run-parts(/etc/cron.hourly)[2512]: finished 0anacron Sep 30 15:01:01 bogon CROND[3092]: (root) CMD (run-parts /etc/cron.hourly) Sep 30 15:01:01 bogon run-parts(/etc/cron.hourly)[3092]: starting 0anacron Sep 30 15:01:02 bogon run-parts(/etc/cron.hourly)[3101]: finished 0anacron Sep 30 15:50:44 bogon crontab[3598]: (root) BEGIN EDIT (root) Sep 30 16:01:01 bogon CROND[3705]: (root) CMD (run-parts /etc/cron.hourly) Sep 30 16:01:01 bogon run-parts(/etc/cron.hourly)[3705]: starting 0anacron Sep 30 16:01:01 bogon run-parts(/etc/cron.hourly)[3714]: finished 0anacron Sep 30 16:15:29 bogon crontab[3598]: (root) END EDIT (root)
end:如果你覺得本文對你有幫助的話,記得點贊轉發,你的支持就是我更新動力。