mysqldump --opt -R -E -K --triggers --master-data=1 -B testbase >/home/db/backup/testbase.sql cat /home/db/backup/testbase.sql -- MySQL dump 10.13 Distrib 5.1.51, for portbld-freebsd8.0 (amd64) -- -- Host: localhost Database: testbase -- ------------------------------------------------------ -- Server version 5.1.51-log /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8 */; /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; /*!40103 SET TIME_ZONE='+00:00' */; /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; -- -- Position to start replication or point-in-time recovery from -- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.008531', MASTER_LOG_POS=210446993; -- -- Current Database: `testbase` -- CREATE DATABASE /*!32312 IF NOT EXISTS*/ `testbase` /*!40100 DEFAULT CHARACTER SET utf8 */; USE `testbase`; -- -- Table structure for table `first` -- DROP TABLE IF EXISTS `first`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `first` ( `id` int(11) NOT NULL AUTO_INCREMENT, `test` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `first` -- LOCK TABLES `first` WRITE; /*!40000 ALTER TABLE `first` DISABLE KEYS */; /*!40000 ALTER TABLE `first` ENABLE KEYS */; UNLOCK TABLES; -- -- Dumping events for database 'testbase' -- /*!50106 SET @save_time_zone= @@TIME_ZONE */ ; /*!50106 DROP EVENT IF EXISTS `ticks_repartition_event` */; DELIMITER ;; /*!50003 SET @saved_cs_client = @@character_set_client */ ;; /*!50003 SET @saved_cs_results = @@character_set_results */ ;; /*!50003 SET @saved_col_connection = @@collation_connection */ ;; /*!50003 SET character_set_client = utf8 */ ;; /*!50003 SET character_set_results = utf8 */ ;; /*!50003 SET collation_connection = utf8_general_ci */ ;; /*!50003 SET @saved_sql_mode = @@sql_mode */ ;; /*!50003 SET sql_mode = '' */ ;; /*!50003 SET @saved_time_zone = @@time_zone */ ;; /*!50003 SET time_zone = 'SYSTEM' */ ;; /*!50106 CREATE EVENT `ticks_repartition_event` ON SCHEDULE EVERY 1 DAY STARTS '2010-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE COMMENT 'Purges old and prepares new partitions for ticks' DO BEGIN DECLARE d DATE DEFAULT CURRENT_DATE; DECLARE first_d DATE DEFAULT d - INTERVAL 14 DAY; DECLARE last_d DATE DEFAULT d + INTERVAL 14 DAY; SET GROUP_CONCAT_MAX_LEN = 65535; SET @drop_partition_query := ( SELECT CONCAT('ALTER TABLE ticks DROP PARTITION ', GROUP_CONCAT(p.PARTITION_NAME SEPARATOR ',\r\n ')) query FROM information_schema.PARTITIONS p WHERE p.TABLE_SCHEMA = DATABASE() AND p.TABLE_NAME = 'ticks' AND p.PARTITION_NAME < CONCAT('p', DATE_FORMAT(first_d, '%Y%m%d')) ); IF @drop_partition_query IS NOT NULL THEN PREPARE drop_partition_statement FROM @drop_partition_query; EXECUTE drop_partition_statement; DEALLOCATE PREPARE drop_partition_statement; END IF; SET @reorganize_partition_query := ( SELECT CONCAT( 'ALTER TABLE ticks REORGANIZE PARTITION pmax INTO (\r\n', ' ', GROUP_CONCAT(CONCAT('PARTITION p', DATE_FORMAT(d.d, '%Y%m%d'), ' VALUES LESS THAN(', UNIX_TIMESTAMP(d.d + INTERVAL 1 DAY), ')') SEPARATOR ',\r\n '), ',\r\n', ' PARTITION pmax VALUES LESS THAN( MAXVALUE)\r\n', ' )' ) query FROM ( SELECT @current_d := @current_d + INTERVAL 1 DAY d FROM (SELECT @current_d := d - INTERVAL 1 DAY d) v, (SELECT NULL UNION ALL SELECT NULL) t1, (SELECT NULL UNION ALL SELECT NULL) t2, (SELECT NULL UNION ALL SELECT NULL) t3, (SELECT NULL UNION ALL SELECT NULL) t4, (SELECT NULL UNION ALL SELECT NULL) t5, (SELECT NULL UNION ALL SELECT NULL) t6, (SELECT NULL UNION ALL SELECT NULL) t7, (SELECT NULL UNION ALL SELECT NULL) t8 ) d WHERE d.d >= GREATEST(IFNULL(( SELECT STR_TO_DATE(SUBSTRING(p.PARTITION_NAME FROM 2), '%Y%m%d') + INTERVAL 1 DAY FROM information_schema.PARTITIONS p WHERE p.TABLE_SCHEMA = DATABASE() AND p.TABLE_NAME = 'ticks' AND p.PARTITION_NAME != 'pmax' ORDER BY p.PARTITION_NAME DESC LIMIT 1), d), d) AND d.d < last_d ); IF @reorganize_partition_query IS NOT NULL THEN PREPARE reorganize_partition_statement FROM @reorganize_partition_query; EXECUTE reorganize_partition_statement; DEALLOCATE PREPARE reorganize_partition_statement; END IF; END */ ;; /*!50003 SET time_zone = @saved_time_zone */ ;; /*!50003 SET sql_mode = @saved_sql_mode */ ;; /*!50003 SET character_set_client = @saved_cs_client */ ;; /*!50003 SET character_set_results = @saved_cs_results */ ;; /*!50003 SET collation_connection = @saved_col_connection */ ;; DELIMITER ; /*!50106 SET TIME_ZONE= @save_time_zone */ ; -- -- Dumping routines for database 'testbase' -- /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; -- Dump completed on 2011-05-27 8:49:56