版权声明:本文由王珏原创文章,转载请注明出处:
文章原文连接:https://www.qcloud.com/community/article/261mysql
来源:腾云阁 https://www.qcloud.com/communitysql
王珏 标签: MySQL数据库
2016-12-13 15:41:13 21安全
本文对mysql5.6.24 mysqldump工具作了简要分析,流程调用序列以下图所示:
网络
流程分析:session
get_options
:
获取mysql参数并发
connect_to_db
:
链接mysqlapp
write_header
:
写入文件头,保存源数据库原始变量值:字符集、时区、SQL mode等socket
-- MySQL dump 10.13 Distrib 5.6.24, for Linux (x86_64) -- -- Host: localhost Database: test -- ------------------------------------------------------ -- Server version 5.6.24-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 */;
do_stop_slave_sql:函数
执行条件:
if (opt_slave_data && do_stop_slave_sql(mysql)) goto err;
若是设置--dump-slave
,执行STOP SLAVE SQL_THREAD
do_flush_tables_read_lock:
执行条件:
if ((opt_lock_all_tables || opt_master_data || (opt_single_transaction && flush_logs)) && do_flush_tables_read_lock(mysql)) goto err;
执行两次FLUSH,第二次加读锁:
FLUSH TABLES;
FLUSH TABLES WITH READ LOCK;
get_bin_log_name:
执行条件:
if (opt_delete_master_logs) { if (get_bin_log_name(mysql, bin_log_name, sizeof(bin_log_name))) goto err; }
若是设置delete-master-logs
,dump完毕须要删除master binlog
,首先须要保存当前的binlog信息:
经过SHOW MASTER STATUS
;获取master binlog
信息;
start_transaction:
执行条件:
if (opt_single_transaction && start_transaction(mysql)) goto err;
设置隔离级别为可重复读:
SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ;
开启一个事务:START TRANSACTION WITH CONSISTENT SNAPSHOT;
add_stop_slave:
执行条件:
if (opt_slave_apply && add_stop_slave()) goto err;
若是设置了--apply-slave-statements
参数,写入STOP SLAVE
;
process_set_gtid_purged:
执行条件:
if (gtid_mode_val && strcmp(gtid_mode_val, "OFF")) { add_set_gtid_purged(mysql_con); }
若是开启gtid,则状况GTID_PURGED变量:
SET @@GLOBAL.GTID_PURGED=
do_show_master_status:
执行条件:
if (opt_master_data && do_show_master_status(mysql)) goto err;
若是设置了--master_data
参数,记录当前日志和位置:
SHOW MASTER STATUS;
CHANGE MASTER TO MASTER_LOG_FILE=%s, MASTER_LOG_POS=%s;
do_show_slave_status:
执行条件:
if (opt_slave_data && do_show_slave_status(mysql)) goto err;
若是这个--dump-slave参数,经过slave获取对应master日志文件和位置:
SHOW SLAVE STATUS;
CHANGE MASTER TO MASTER_LOG_FILE=%s, MASTER_LOG_POS=%s;
do_unlock_tables:
执行条件:
if (opt_single_transaction && do_unlock_tables(mysql)) /* unlock but no commit! */ goto err;
若是以前有加锁,如今释放:
UNLOCK TABLES;
dump_all_tablespaces:
执行条件:
if (opt_alltspcs) dump_all_tablespaces();
若是设置了--all-tablespaces,dump表空间:
从information_schema.FILES获取表空间信息;
dump_all_databases:
执行条件:
if (opt_alldbs) { dump_all_databases(); }
若是设置了--all-databases,dump全部库表:
1.获取全部数据库:SHOW DATABASES;
2.排除information_schema、performance_schema等系统库;
3.dump库中全部表;
3.一、Use database,并打印头信息:
-- -- Current Database: `test` --
3.二、若是设置了--lock-tables,则LOCK TABLES xxx READ;
3.三、若是设置了--flush-logs, 则FLUSH LOGS;
3.四、若是设置了--single-transaction, 则SAVEPOINT sp;
3.五、逐一dump每一个表:dump_all_tables_in_db;
3.5.一、 Use database切换目标数据库;
3.5.二、 获取数据库Create语句:SHOW CREATE DATABASE IF NOT EXISTS;
3.5.三、若是设置--add-drop-database, 输出DROP DATABASE IF EXISTS xxx;
3.5.四、输出CREATE DATABASE IF NOT EXISTS xxx;
3.5.五、调用dump_table dump表结构和数据;
3.5.5.一、调用get_table_structure获取表结构:
SELECT`COLUMN_NAME`AS`Field`,`COLUMN_TYPE`AS`Type`,`IS_NULLABLE`AS`Null`,`COLUMN_KEY`AS `Key`,`COLUMN_DEFAULT`AS`Default`,`EXTRA`AS`Extra`,`COLUMN_COMMENT`AS`Comment`FROM` INFORMATION_SCHEMA`.`COLUMNS`WHERETABLE_SCHEMA='%s'ANDTABLE_NAME='%s';
3.5.5.1.一、若是设置--add-drop-table ,输出DROP TABLE IF EXISTS;
3.5.5.1.二、若是没有设置--no-create-info, 执行show create table xxx,输出建表语句;
3.5.5.1.三、执行show fields from xxx,获取表的字段信息;
3.5.5.1.四、执行show keys from xxx,获取表索引信息;
3.5.5.1.五、执行show table status like xxx,获取表引擎以及options信息;
3.5.5.1.六、经过以上信息获取表建立语句;
3.5.5.二、执行SELECT * FROM xxx [ WHERE xxx=yyy ORDER BY xxx]获取表中数据;
3.5.5.三、若是设置--add-locks,输出LOCK TABLES xxx WRITE;
3.5.5.四、若是设置--disable-keys,输出 ALTER TABLE xxx DISABLE KEYS;
3.5.5.五、根据表中数据,生成INSERT/REPLACE INTO 输出到文件;
3.5.5.六、若是设置--disable-keys,输出 ALTER TABLE xxx ENABLE KEYS;
3.5.5.七、若是设置--add-locks,输出UNLOCK TABLES;
3.5.六、调用dump_triggers_for_table表关联的数据库;
3.5.6.一、执行SHOW TRIGGERS LIKE xxx,获取全部触发器;
3.5.6.二、执行SHOW CREATE TRIGGER xxx,获取触发器建立语句并输出到文件;
3.5.七、若是设置了--single-transaction, 则ROLLBACK TO SAVEPOINT sp;
3.5.八、若是设置了--events,调用dump_events_for_db 获取定时器信息;
3.5.8.一、执行show events,获取全部定时器;
3.5.8.二、执行SHOW CREATE EVENT,获取定时器建立语句并输出到文件;
3.5.九、若是设置了--routines,调用dump_routines_for_db 获取存储过程、自定义函数信息;
3.5.9.一、执行SHOW FUNCTION/PROCEDURE STATUS WHERE Db = xxx,获取全部存储过程、自定义函数;
3.5.9.二、执行SHOW CREATE FUNCTION/PROCEDURE xxx,获取全部存储过程、自定义函数建立语句;
3.5.十、若是设置了--lock-tables,则执行UNLOCK TABLES;
3.5.十一、若是设置了--flush-privileges,输出FLUSH PRIVILEGES;
3.六、逐一dump每一个表上的视图:dump_all_views_in_db
3.6.一、调用get_view_structure获取视图结构:
3.6.1.一、获取数据库下全部表;
3.6.1.二、执行SHOW CREATE TABLE xxx和 information_schema.views中信息获取视图建立语句;
dump_selected_tables:
执行条件:
if (argc > 1 && !opt_databases) { dump_selected_tables(*argv, (argv + 1), (argc - 1)); }
若是没有设置--databases,则dump指定一个数据库的多个表;
dump_databases:
执行条件:
if (argc > 1 && !opt_databases) { } else { /* One or more databases, all tables */ dump_databases(argv); }
若是设置--databases,则dump指定多个数据库;
do_start_slave_sql:
执行条件:
/* if --dump-slave , start the slave sql thread */ if (opt_slave_data && do_start_slave_sql(mysql)) goto err;
若是设置--dump-slave,如今须要执行START SLAVE启动从复制进程:
set_session_binlog:
打开binlog;
add_slave_statements:
执行条件:
if (opt_slave_apply && add_slave_statements()) goto err;
若是设置了--apply-slave-statements参数,写入START SLAVE;
purge_bin_logs_to:
执行条件:
if (opt_delete_master_logs && purge_bin_logs_to(mysql, bin_log_name)) goto err;
若是设置--delete-master-logs, purge掉旧日志:
PURGE BINARY LOGS TO binlog_xxx;
dbDisconnect:
断开mysql链接;
write_footer:
写入文件结尾:
/*!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 */;
命令行 | 描述 |
---|---|
--add-drop-database | 在CREATE DATABASE前DROP DATABASE。 |
--add-drop-table | 在CREATE TABLE前DROP TABLE。 |
--add-drop-trigger | 在CREATE TRIGGER 前DROP TRIGGER。 |
--add-locks | 在INSERT先后分别加LOCK TABLES和UNLOCK TABLES。 |
--all-databases | 备份全部库中全部表。 |
--allow-keywords | 容许列名包含关键字。 |
--apply-slave-statements | 在CHANGE MASTER前加 STOP SLAVE在最后添加 START SLAVE。 |
--bind-address=ip_address | 对于有多个网络接口的机器选择使用指定的接口链接MySQL。 |
--comments | 为备份文件添加注释。 |
--compact | 禁用结构化注释及首尾结构体。开启--skip-add-drop-table、--skip-add-locks、--skip-comments、--skip-disable-keys、--skip-set-charset以产生更紧促的输出。 |
--compatible=name[,name,...] | 产生与其余数据库或者老版MySQL兼容的备份文件,可用的值有ansi, mysql323, mysql40, postgresql, Oracle, mssql, db2, maxdb, no_key_options, no_table_options, no_field_options。可同时使用多个以逗号分隔的值。 |
--complete-insert | 使用带有列名的完整INSERT。 |
--create-options | 在CREATE TABLE中使用MySQL特定的表选项。 |
--databases | 备份多个数据库,选项后跟多个库名。备份文件中会包含USE db_name。 |
--debug[=debug_options] | 写debug日志。 |
--debug-check | 程序退出时打印一些调试信息 |
--debug-info | 程序退出时打印一些有关cpu和memory的统计信息。 |
--default-auth=plugin | 指明要使用的客户端认证插件 |
--default-character-set=charset_name | 设置默认字符集 |
--delayed-insert | 使用INSERT DELAYED 而非INSERT。MySQL5.6.6中INSERT DELAYED已不被推荐使用,相应的该选项也未来将来的mysqldump中移除。 |
--delete-master-logs | 在master上备份后删除其二进制日志。该选项会自动激活—master-data选项。 |
--disable-keys | 对每一个表在INSERT先后分别加/!40000 ALTER TABLE articles DISABLE KEYS /和/!40000 ALTER TABLE articles ENABLE KEYS /。可以使从备份文件恢复数据更快,由于索引在全部行插入后建立。仅对于MyISAM表的非惟一索引。 |
--dump-date | 若使用了—comments选项则会在末尾显示-- Dump completed on xxxxxx,以标记时间。 |
--dump-slave[=value] | 会在输出结果添加包含master二进制文件和位置信息的CHANGE MASTER语句。与—master-data选项相似,但用于复制slave以创建另外的与其同master的slave。会开启—lock-all-tables除非使用了—single-transaction。会在dump前中止slave的SQL thread在dump后开始该线程。可与--apply-slave-statements、--include-master-host-port结合使用。 |
--events | 为备份的数据库备份事件。 |
--extended-insert | 使用包含多个值列表的多行INSERT。 |
--fields-enclosed-by=string | 与—tab选项结合使用。指明输出文件中的filed以何种字符串enclosed,与 LOAD DATA INFILE对应的选项意义相同。 |
--fields-escaped-by | 同上 |
--fields-optionally-enclosed-by=string | 同上 |
--fields-terminated-by=string | 同上 |
--flush-logs | 在备份前刷新MySQL日志。需RELOAD权限。若同时备份多个数据库,如使用—all-database或—database,则对于每一个备份的数据库都会刷新一第二天志,除非使用了—master-data或—lock-all-tables,此时日志仅在锁定表时刷新一次。若想让备份和刷新日志同时进行需结合使用—lock-all-tables或—master-data。 |
--flush-privileges | 在备份了mysql这个数据库后发出FLUSH PRIVILEGES语句。本分mysql库或依赖mysql库中数据的库时需使用。 |
--help | 显示帮助信息 |
--hex-blob | 将二进制列,如,BINARY,VARBINARY,BLOB,BIT备份为十六进制形式。 |
--host | 要链接的主机 |
--ignore-table=db_name.tbl_name | 指明不备份的表 |
--include-master-host-port | 使用了--dump-slave时在CHANGE MASTER语句中加入MASTER_HOST和MASTER_PORT。 |
--insert-ignore | 用INSERT IGNORE 而非INSERT ,以忽略重复的数据。 |
--lines-terminated-by=string | 与—tab选项结合使用。与LOAD DATA INFILE的LINE意义相同。指明行由何种字符串terminated。 |
--lock-all-tables | 经过在备份期前加read lock锁定全部库的全部表。会自动关闭—single-transaction和—lock-tables。 |
--lock-tables | 对于备份的库在备份前锁定将被备份的属于该库的表。使用READ LOCAL锁定以容许MyIASM表的并发插入。对于事务型的表请使用—single-transaction而非—lock-tables。另外该选项不能保证备份文件上各数据库间的表在逻辑上是一致的,由于市委每一个库单独锁定表。一些选项如—opt会自动开启—locak-tables,可经过使用在其后使用--skip-lock-tables规避。 |
--log-error=file_name | 在给定文件中附加警告和错误信息。 |
--login-path=name | 从.mylogin.cnf登陆文件读取登陆参数。可经过mysql_config_editor建立登陆文件。 |
--master-data[=value] | 在输出中添加二进制日志名和位置。会开启—lock-all-tables除非也是用了—single-transaction。会自动关闭—lock-tables。 |
--max_allowed_packet=value | 可发送或接收的最大包分组长度。 |
--net_buffer_length=value | TCP/IP及socket通信的buffer大小。 |
--no-autocommit | 在INSERT先后添加set autocommit=0和commit。 |
--no-create-db | 若使用了—all-databases或—databases,不在输出中添加CREATE DATABASE。 |
--no-create-info | 不使用CREATE TABLE 重建备份的表。 |
--no-data | 只备份结构不备份数据。 |
--no-set-names | 同--skip-set-charset不设置charset。 |
--no-tablespaces | 不在输出中使用CREATE LOG FILE和CREATE TABLESPACE。 |
--opt | --add-drop-table, --add-locks, --create-options, --quick, --extended-insert, --lock-tables, --set-charset,和--disable-keys几个选项合起来的简写形式。 |
--order-by-primary | 将备份的表中的行按主键排序或者第一个惟一键排序。当备份MyISAM表且将被载入到InnoDB表时颇有用,打包备份自己的时间会较长。 |
--password[=password] | 链接主机的密码 |
--pipe | 在Windows上经过命名管道链接server。 |
--plugin-dir=path | 插件存放目录。 |
--port=port_num | 经过主机所使用的端口。 |
--protocol=type | 链接主机所使用的协议。 |
--quick | 备份时逐行读取表而非一次所有行后缓冲在内存中。在备份大表时有用。 |
--quote-names | 使用“`”包围数据库名、表名、列名等标识符。若使用了ANSI_QUOTES则用“””包围。特别的,可能须要在—compatible后开启该选项。 |
--replace | 使用REPLACE而非INSERT。 |
--result-file=file | 将结果输出带指定的文件。 |
--routines | 备份routines(存储过程和函数)。 |
--set-charset | 添加SET NAMES default_character_set。默认开启。 |
--set-gtid-purged=value | 肯定是否在结果中添加SET @@GLOBAL.GTID_PURGED。若为ON但在server中没有开启GTID则发生错误。若OFF则什么都不作。若AUTO则server中开启GTID那么添加上述语句,反之不加。 |
--single-transaction | 在备份前设置事务隔离级别为REPEATABLE READ并向server发送START TRANSACTION语句。仅对事务型表如InnoDB有用。与--ock-tables互斥。对于大文件备份--single-transaction与--quick结合使用。 |
--skip-add-drop-table | 禁用--add-drop-table。 |
--skip-add-locks | 禁用--add-locks。 |
--skip-comments | 禁用—comments。 |
--skip-compact | 禁用—compact。 |
--skip-disable-keys | 禁用—disable-keys。 |
--skip-extended-insert | 禁用--extended-insert。 |
--skip-opt | 禁用--skip-opt。 |
--skip-quick | 禁用--quick。 |
--skip-quote-names | 禁用--quote-names。 |
--skip-set-charset | 禁用—set-charset。 |
--skip-triggers | 不备份triggers |
--skip-tz-utc | 禁用-- tz-utc |
--socket=path | 链接本机server所使用的socket。 |
--ssl-ca=file_name | 包含信任的SSL CAs列表的文件名。 |
--ssl-capath=dir_name | 包含PEM格式的可信任SSL CA证书的目录。 |
--ssl-cert=file_name | 用于创建安全链接的SSL证书文件的名字。 |
--ssl-cipher=cipher_list | 一系列用于SSL加密的所容许的密码。 |
--ssl-crl=file_name | 包含证书废止列表的文件名。 |
--ssl-crlpath=dir_name | 包含证书废止列表的文件的目录。 |
--ssl-key=file_name | 用于创建安全链接的SSL key文件名。 |
--ssl-verify-server-cert | The server's Common Name value in its certificate is verified against the host name used when connecting to the server |
--tab=path | 对于每一个备份的表mysqldump建立一个包含CREATE TABLE语句的tbl_name.sql,而被链接的server会建立一个由tab键分隔的包含相应数据的tbl_name.txt。选项值为将被写入的目录。当mysqldump与mysqld处于同一主机时使用。不然tbl_name.txt文件会被写入远程主机相应的目录。当使用了—databases或—all-databases时该选项不适用。 |
--tables | 覆盖--databases 或 -B 选项。该选项后的名称参数均被认为是表名。 |
--triggers | 为每一个备份的表备份trigger。 |
--tz-utc | 在备份文件中添加SET TIME_ZONE='+00:00'。 |
--user=user_name | 链接server所使用的用户名 |
--verbose | 详细模式。 |
--version | 显示版本信息并退出。 |
--where='where_condition' | 仅备份与where条件中匹配的行。 |
--xml | 产生XML格式的输出。 |
-- MySQL dump 10.13 Distrib 5.6.24, for Linux (x86_64) -- -- Host: localhost Database: test -- ------------------------------------------------------ -- Server version 5.6.24-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='binlog.000013', MASTER_LOG_POS=3209; -- -- Current Database: `test` -- CREATE DATABASE /*!32312 IF NOT EXISTS*/ `test` /*!40100 DEFAULT CHARACTER SET latin1 */; USE `test`; -- -- Table structure for table `abc` -- DROP TABLE IF EXISTS `abc`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `abc` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(65000) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=201 DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `abc` -- /*!40000 ALTER TABLE `abc` DISABLE KEYS */; INSERT INTO `abc` VALUES (24,'111'),(25,'qwwqee'),(26,'dfdsf'),(27,'23'),(28,'123'),(29,'123'),(34,'rer'),(35,'fdfd'),(50,'wre'),(51,'re'),(52,'trt'),(100,'dddd'),(200,'200'),(231,'we'); /*!40000 ALTER TABLE `abc` ENABLE KEYS */; /*!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 = 'STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION' */ ; DELIMITER ;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 trigger abc_trigger before insert on abc for each row begin set @x = "hello trigger"; end */;; DELIMITER ; /*!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 */ ; -- -- Temporary view structure for view `abc_view1` -- DROP TABLE IF EXISTS `abc_view1`; /*!50001 DROP VIEW IF EXISTS `abc_view1`*/; SET @saved_cs_client = @@character_set_client; SET character_set_client = utf8; /*!50001 CREATE VIEW `abc_view1` AS SELECT 1 AS `id`, 1 AS `name`*/; SET character_set_client = @saved_cs_client; -- -- Table structure for table `hello` -- DROP TABLE IF EXISTS `hello`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `hello` ( `name` varchar(20) DEFAULT NULL, `num` int(11) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `hello` -- /*!40000 ALTER TABLE `hello` DISABLE KEYS */; INSERT INTO `hello` VALUES ('qqq',888),('aaa',888),('www',888),('sdfsdf',888),('erere',888),('25',888); /*!40000 ALTER TABLE `hello` ENABLE KEYS */; -- -- Table structure for table `myisam_test` -- DROP TABLE IF EXISTS `myisam_test`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `myisam_test` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(100) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=latin1; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `myisam_test` -- /*!40000 ALTER TABLE `myisam_test` DISABLE KEYS */; INSERT INTO `myisam_test` VALUES (1,'qqq'); /*!40000 ALTER TABLE `myisam_test` ENABLE KEYS */; -- -- Table structure for table `t1` -- DROP TABLE IF EXISTS `t1`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `t1` ( `year_col` int(11) DEFAULT NULL, `some_data` int(11) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (year_col) (PARTITION p0 VALUES LESS THAN (1991) ENGINE = InnoDB, PARTITION p1 VALUES LESS THAN (1995) ENGINE = InnoDB, PARTITION p2 VALUES LESS THAN (1999) ENGINE = InnoDB, PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `t1` -- /*!40000 ALTER TABLE `t1` DISABLE KEYS */; /*!40000 ALTER TABLE `t1` ENABLE KEYS */; -- -- Current Database: `test` -- USE `test`; -- -- Final view structure for view `abc_view1` -- /*!50001 DROP VIEW IF EXISTS `abc_view1`*/; /*!50001 SET @saved_cs_client = @@character_set_client */; /*!50001 SET @saved_cs_results = @@character_set_results */; /*!50001 SET @saved_col_connection = @@collation_connection */; /*!50001 SET character_set_client = utf8 */; /*!50001 SET character_set_results = utf8 */; /*!50001 SET collation_connection = utf8_general_ci */; /*!50001 CREATE ALGORITHM=UNDEFINED */ /*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ /*!50001 VIEW `abc_view1` AS select `abc`.`id` AS `id`,`abc`.`name` AS `name` from `abc` */; /*!50001 SET character_set_client = @saved_cs_client */; /*!50001 SET character_set_results = @saved_cs_results */; /*!50001 SET collation_connection = @saved_col_connection */; /*!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 2016-11-18 11:07:25