一、数据备份基础:
1、备份类型:
完全备份:整个数据集;
部分部分:只备份数据子集;
增量备份:仅备份最近一次完全备份或增量备份(如果存在增量)以来变化的数据;
差异备份:仅备份最近一次完全备份以来变化的数据;
2、备份方式:
(1)、与存储引擎有关:热备份、温备份、冷备份:
热备:读写操作均可执行;
温备:读操作可执行;但写操作不成;
冷备:读写操作均不可进行;
(2)、与存储引擎无关:物理备份、逻辑备份
物理备份:直接复制数据文件进行备份;
逻辑备份:从数据库中“导出”数据另存而进行的备份;
3、引擎支持的备份方式:
MyISAM:支持温备,不能热备
InnoDB:支持热备
4、备份时需要考虑的因素:
持续时长、备份过程的时长、备份负载、恢复过程的时长
5、备份什么
数据
二进制日志、innodb的事务日志
代码(存储过程、存储函数、触发器、事件调度器)
服务器的配置文件
6、备份方案的设计:
数据集:完全+增量;
备份手段:物理、逻辑;
7、备份工具:
mysqldump:逻辑备份工具,适用所有存储引擎,温备;完全备份、部分备份;对InnoDB存储引擎支持热备;
cp,tar等复制归档工具:物理备份工具,适用所有存储引擎;冷备:完全备份,部分备份;
mysql> SHOW BINARY|MASTER LOGS; 查看当前服务器所使用的二进制状态
mysql> SHOW MASTER STATUS;查看当前正在使用的二进制状态
mysql> SHOW BINLOG EVENTS IN '' FROMpos; 查看某一个指定的二进制日志中的文件内容
mysqlbinlog:查看二进制日志文件并利用其做增量备份
mysqlbinlog [OPTION] log_file
--start-position 从哪个位置开始做增量备份
--stop-position 增量备份到哪个位置结束
--start-datetime= 从哪个时间点开始做增量备份
--stop-datetime= 增量备份到哪个时间点结束
二、备份工具详解:mysqldump、mysqlbinlog
1、逻辑备份工具:mysqldump,mydumper,phpMyAdmin
(1)、mysqldump:客户端命令,通过mysql协议连接至mysqld服务器
man mysqldump
mysqldump [options] [db_name [tbl_name...]]
shell> mysqldump [options] db_name[tbl_name ...]
shell> mysqldump [options]--databases db_name ...
shell> mysqldump [options]--all-databases
备份的数据集:
-A,--all-databases 备份所有数据库
-B db_name,... 备份指定数据库
--databases db_name,... 备份指定数据库
(2)引擎支持备份方式及实现:
MyISAM:只支持温备;必须锁定备份库,而后才能启动备份操作,
支持锁定的参数如下:
--lock-all-tables, -x :锁定所有库的所有表
--lock-tables, -l:对于每个单独的数据库,在启动备份之前锁定其所有表;
注意:这两个参数对InnoDB表一样生效,实现温备;
InonoDB:支持热备,可以直接启用备份,无需锁定表。
--single-transaction
(3)、其他选项:
-E,--events:备份指定数据库相关的所有event scheduler;
--routines, -R:备份指定数据库相关的所有存储过程和存储函数;
--triggers:备份表的相关的触发器;
--master-data :
1)、记录为CHANGE MASTER TO语句,此语句不被注释;
2)、记录为注释的CHANGE MASTER TO语句
mysqldump--master-data=2 --all-databases > dumpfile
--flush-logs:日志滚动
锁定表完成后,执行flush logs命令;
2、备份建议:
二进制日志文件不应该与数据文件放在同一磁盘;
建议还原时关闭二进制日志记录
mysql> SHOW GLOBAL VARIABLES LIKE'%log%';
sql_log_bin ON
mysql> SET sql_log_bin = OFF;
三、利用mysqldump做完全备份还原
1、mysqldump做部分备份和完全备份:
[root@www ~]# cphellodb.sql /root/
cp:"hellodb.sql" 与"/root/hellodb.sql" 为同一文件
[root@www ~]#file hellodb.sql
hellodb.sql:ASCII text, with very long lines
[root@www ~]#less hellodb.sql
-- MySQL dump10.13 Distrib 5.5.33, for Linux (x86_64)
--
-- CurrentDatabase: `hellodb`
CREATE DATABASE/*!32312 IF NOT EXISTS*/ `hellodb` /*!40100 DEFAULT CHARACTER SET utf8 */;
USE `hellodb`;
-- Tablestructure for table `classes`
DROP TABLE IFEXISTS `classes`;
/*!40101 SET@saved_cs_client =@@character_set_client */;
/*!40101 SETcharacter_set_client = utf8 */;
CREATE TABLE`classes` (
`ClassID` tinyint(3) unsigned NOT NULLAUTO_INCREMENT,
`Class` varchar(100) DEFAULT NULL,
`NumOfStu` smallint(5) unsigned DEFAULT NULL,
PRIMARY KEY (`ClassID`)
) ENGINE=MyISAMAUTO_INCREMENT=9 DEFAULT CHARSET=utf8;
/*!40101 SETcharacter_set_client = @saved_cs_client */;
#修改MyISAM引擎为InnoDB,使其支持热备
[root@www ~]#sed -i 's/MyISAM/InonoDB/g' hellodb.sql
[root@www ~]#sed -i 's/InonoDB/InnoDB/g' hellodb.sql
[root@www ~]#less hellodb.sql
-- MySQL dump10.13 Distrib 5.5.33, for Linux (x86_64)
--
-- Host:localhost Database: hellodb
--------------------------------------------------------
-- Serverversion 5.5.33-log
-- MySQL dump10.13 Distrib 5.5.33, for Linux (x86_64)
--
-- Host:localhost Database: hellodb
--------------------------------------------------------
-- Serverversion 5.5.33-log
DROP TABLE IFEXISTS `classes`;
/*!40101 SET@saved_cs_client =@@character_set_client */;
/*!40101 SETcharacter_set_client = utf8 */;
CREATE TABLE`classes` (
`ClassID` tinyint(3) unsigned NOT NULLAUTO_INCREMENT,
`Class` varchar(100) DEFAULT NULL,
`NumOfStu` smallint(5) unsigned DEFAULT NULL,
PRIMARY KEY (`ClassID`)
) ENGINE=InnoDBAUTO_INCREMENT=9 DEFAULT CHARSET=utf8;
/*!40101 SETcharacter_set_client = @saved_cs_client */;
--
-- Dumping datafor table `classes`
--
mysql> SHOWDATABASES;
+--------------------+
| Database |
+--------------------+
|information_schema |
| hellodb |
| mysql |
| test |
| testdb |
+--------------------+
5 rows in set(0.04 sec)
mysql> usehellodb
Reading tableinformation for completion of table and column names
You can turn offthis feature to get a quicker startup with -A
Database changed
mysql> SHOWTABLES;
+-------------------+
|Tables_in_hellodb |
+-------------------+
| classes |
| coc |
| courses |
| scores |
| students |
| teachers |
| toc |
+-------------------+
7 rows in set(0.00 sec)
mysql> SELECT* FROM students;
+-------+---------------+-----+--------+---------+-----------+
| StuID |Name | Age | Gender | ClassID |TeacherID |
+-------+---------------+-----+--------+---------+-----------+
| 1 | Shi Zhongyu | 22| M | 2 | 3 |
| 2 | Shi Potian | 22| M | 1 | 7 |
| 3 | Xie Yanke | 53 | M | 2 | 16 |
| 4 | Ding Dian | 32 | M | 4 | 4 |
| 5 | Yu Yutong | 26 | M | 3 | 1 |
| 6 | Shi Qing | 46 | M | 5 | NULL |
| 7 | Xi Ren | 19 | F | 3 | NULL |
| 8 |Lin Daiyu | 17 | F | 7 | NULL |
| 9 | Ren Yingying | 20 |F | 6 | NULL |
| 10 | Yue Lingshan | 19 |F | 3 | NULL |
| 11 | Yuan Chengzhi | 23 | M | 6 | NULL |
| 12 | Wen Qingqing | 19 |F | 1 | NULL |
| 13 | Tian Boguang | 33 |M | 2 | NULL |
| 14 | Lu Wushuang | 17| F | 3 | NULL |
| 15 | Duan Yu | 19 | M | 4 | NULL |
| 16 | Xu Zhu | 21 | M | 1 | NULL |
| 17 | Lin Chong | 25 | M | 4 | NULL |
| 18 | Hua Rong | 23 | M | 7 | NULL |
| 19 | Xue Baochai | 18| F | 6 | NULL |
| 20 | Diao Chan | 19 | F | 7 | NULL |
| 21 | Huang Yueying | 22 | F | 6 | NULL|
| 22 | Xiao Qiao | 20 | F | 1 | NULL |
| 23 | Ma Chao | 23 | M | 4 | NULL |
| 24 | Xu Xian | 27| M | NULL | NULL |
| 25 | Sun Dasheng | 100 | M | NULL | NULL |
+-------+---------------+-----+--------+---------+-----------+
25 rows in set(0.01 sec)
mysql> \q
Bye
[root@www ~]#mysqldump -uroot
Usage: mysqldump[OPTIONS] database [tables]
OR mysqldump [OPTIONS] --databases [OPTIONS]DB1 [DB2 DB3...]
OR mysqldump [OPTIONS] --all-databases[OPTIONS]
For moreoptions, use mysqldump --help
[root@www ~]#mysqldump -uroot --databases hellodb
没有输出重定向则默认输出
-- MySQL dump10.13 Distrib 5.1.73, forredhat-linux-gnu (x86_64)
-- Host:localhost Database: hellodb
--------------------------------------------------------
-- Serverversion 5.1.73
CREATE DATABASE/*!32312 IF NOT EXISTS*/ `hellodb` /*!40100 DEFAULT CHARACTER SET utf8 */;
.......
部分备份:将hellodb.sql备份到/root/hellodb.sql
[root@www ~]#mysqldump -uroot --databases hellodb > /root/hellodb.sql
[root@www ~]# ls
hellodb.sql
[root@www ~]#mkdir /root/sqlbak
[root@www ~]#mysqldump -uroot --database hellodb >/root/sqlbak/hellodb.sql
[root@www ~]# cdsqlbak
[root@wwwsqlbak]# ls
hellodb.sql
[root@wwwsqlbak]# less hellodb.sql
-- MySQL dump10.13 Distrib 5.1.73, forredhat-linux-gnu (x86_64)
--
-- Host:localhost Database: hellodb
--------------------------------------------------------
-- Serverversion 5.1.73
CREATE DATABASE/*!32312 IF NOT EXISTS*/ `hellodb` /*!40100 DEFAULT CHARACTER SET utf8 */;
DROP TABLE IFEXISTS `classes`;
/*!40101 SET@saved_cs_client =@@character_set_client */;
/*!40101 SETcharacter_set_client = utf8 */;
CREATE TABLE`classes` (
`ClassID` tinyint(3) unsigned NOT NULLAUTO_INCREMENT,
`Class` varchar(100) DEFAULT NULL,
`NumOfStu` smallint(5) unsigned DEFAULT NULL,
PRIMARY KEY (`ClassID`)
) ENGINE=InnoDBAUTO_INCREMENT=9 DEFAULT CHARSET=utf8;
/*!40101 SETcharacter_set_client = @saved_cs_client */;
......
#将hellodb、testdb两个数据库都备份到/root/sqlbak/hellodb_mydb.sql下
[root@www ~]#mysqldump -uroot --databases hellodb testdb > /root/sqlbak/hellodb_mydb.sql
[root@www ~]# cdsqlbak
[root@wwwsqlbak]# ls
hellodb_mydb.sql hellodb.sql
[root@wwwsqlbak]#
[root@wwwsqlbak]# cd
备份所有数据库的数据到/root/sqlbak/all.sql文件下
[root@www ~]#mysqldump -uroot --all-databases --lock-all-tables --master-data=2 >/root/sqlbak/all.sql
mysqldump:Error: Binlogging on server not active
提示Binlogging为启动,
编辑/etc/my.cnf文件,设置log_bin=ON
[root@www etc]#vim /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disablingsymbolic-links is recommended to prevent assorted security risks
symbolic-links=0
log_bin=ON
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[root@www ~]#service mysqld restart
停止 mysqld: [确定]
正在启动 mysqld: [确定]
[root@www ~]#mysql
Welcome to theMySQL monitor. Commands end with ; or\g.
mysql> SHOWGLOBAL VARIABLES LIKE '%log%';
+-----------------------------------------+---------------------------------+
|Variable_name |Value |
+-----------------------------------------+---------------------------------+
| back_log | 50 |
|binlog_cache_size |32768 |
|binlog_direct_non_transactional_updates | OFF |
|binlog_format |STATEMENT |
|expire_logs_days |0 |
| general_log | OFF |
|general_log_file |/var/run/mysqld/mysqld.log |
|innodb_flush_log_at_trx_commit |1 |
|innodb_locks_unsafe_for_binlog |OFF |
|innodb_log_buffer_size |1048576 |
|innodb_log_file_size |5242880 |
|innodb_log_files_in_group |2 |
|innodb_log_group_home_dir |./ |
|innodb_mirrored_log_groups |1 |
| log | OFF |
| log_bin | ON |
|log_bin_trust_function_creators |OFF |
|log_bin_trust_routine_creators |OFF |
| log_error |/var/log/mysqld.log |
|log_output |FILE |
|log_queries_not_using_indexes |OFF |
| log_slave_updates | OFF |
|log_slow_queries |OFF |
|log_warnings |1 |
|max_binlog_cache_size | 18446744073709547520 |
|max_binlog_size |1073741824 |
|max_relay_log_size |0 |
| relay_log | |
|relay_log_index | |
|relay_log_info_file |relay-log.info |
|relay_log_purge |ON |
|relay_log_space_limit |0 |
|slow_query_log |OFF |
|slow_query_log_file |/var/run/mysqld/mysqld-slow.log |
|sql_log_bin | ON |
|sql_log_off |OFF |
|sql_log_update |ON |
|sync_binlog |0 |
+-----------------------------------------+---------------------------------+
38 rows in set(0.00 sec)
mysql> SHOWMASTER LOGS;
+-----------+--------------+
| Log_name | File_size |
+-----------+--------------+
| ON.000001| 106 |
+-----------+--------------+
1 row in set(0.00 sec)
mysql>
[root@www ~]#vim /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disablingsymbolic-links is recommended to prevent assorted security risks
symbolic-links=0
log_bin=mysql-bin
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
~
"/etc/my.cnf"11L, 269C 已写入
[root@www ~]#service mysqld restart
停止 mysqld: [确定]
正在启动 mysqld: [确定]
[root@www ~]#mysql
Welcome to theMySQL monitor. Commands end with ; or\g.
Your MySQLconnection id is 2
Server version:5.1.73-log Source distribution
Copyright (c)2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle is aregistered trademark of Oracle Corporation and/or its
affiliates.Other names may be trademarks of their respective
owners.
Type 'help;' or'\h' for help. Type '\c' to clear the current input statement.
mysql> SHOWGLOBAL VARIABLES LIKE '%log%';
+-----------------------------------------+---------------------------------+
|Variable_name |Value |
+-----------------------------------------+---------------------------------+
| back_log | 50 |
|binlog_cache_size |32768 |
|binlog_direct_non_transactional_updates | OFF |
|binlog_format |STATEMENT |
|expire_logs_days |0 |
|general_log |OFF |
| general_log_file | /var/run/mysqld/mysqld.log |
|innodb_flush_log_at_trx_commit |1 |
|innodb_locks_unsafe_for_binlog |OFF |
|innodb_log_buffer_size |1048576 |
|innodb_log_file_size |5242880 |
|innodb_log_files_in_group |2 |
|innodb_log_group_home_dir |./ |
|innodb_mirrored_log_groups |1 |
| log | OFF |
| log_bin | ON |
|log_bin_trust_function_creators |OFF |
|log_bin_trust_routine_creators |OFF |
| log_error |/var/log/mysqld.log |
|log_output |FILE |
|log_queries_not_using_indexes |OFF |
|log_slave_updates |OFF |
| log_slow_queries | OFF |
|log_warnings |1 |
|max_binlog_cache_size |18446744073709547520 |
|max_binlog_size | 1073741824 |
|max_relay_log_size |0 |
| relay_log | |
|relay_log_index | |
|relay_log_info_file |relay-log.info |
|relay_log_purge |ON |
|relay_log_space_limit |0 |
|slow_query_log |OFF |
|slow_query_log_file |/var/run/mysqld/mysqld-slow.log |
|sql_log_bin |ON |
|sql_log_off | OFF |
|sql_log_update |ON |
|sync_binlog |0 |
+-----------------------------------------+---------------------------------+
38 rows in set(0.00 sec)
mysql> SHOWMASTER LOGS;
+------------------+-----------+
| Log_name | File_size |
+------------------+-----------+
|mysql-bin.000001 | 106 |
+------------------+-----------+
1 row in set(0.00 sec)
做全量备份,备份所有数据到/root/sqlbak/all.sql文件中
[root@www ~]#mysqldump -uroot --all-databases --lock-all-tables --master-data=2 >/root/sqlbak/all.sql
[root@www ~]#less ./sqlbak/all.sql
2、完全备份还原:
[root@www ~]#scp ./sqlbak/all.sql 192.168.88.130:/root/
[email protected]'spassword:
all.sql 100% 524KB 523.6KB/s 00:00
备用机上192.168.88.130:
[root@test ~]#service mysqld start
正在启动 mysqld: [确定]
[root@test ~]#mysql
mysql> show databases;
+--------------------+
| Database |
+--------------------+
|information_schema |
| mysql |
| test |
+--------------------+
3 rows in set(0.05 sec)
mysql> quit
Bye
将完全备份导入
[root@test ~]#mysql < all.sql
[root@test ~]#mysql
mysql> showdatabases;
+--------------------+
| Database |
+--------------------+
|information_schema |
| hellodb |
| mysql |
| test |
| testdb |
+--------------------+
5 rows in set(0.00 sec)
mysql> usehellodb
Reading tableinformation for completion of table and column names
You can turn offthis feature to get a quicker startup with -A
Database changed
mysql> select* from students;
+-------+---------------+-----+--------+---------+-----------+
| StuID |Name | Age | Gender | ClassID |TeacherID |
+-------+---------------+-----+--------+---------+-----------+
| 1 | Shi Zhongyu | 22| M | 2 | 3 |
| 2 |Shi Potian | 22 | M | 1 | 7 |
| 3 | Xie Yanke | 53 | M | 2 | 16 |
| 4 | Ding Dian | 32 | M | 4 | 4 |
| 5 | Yu Yutong | 26 | M | 3 | 1 |
| 6 | Shi Qing | 46 | M | 5 | NULL |
| 7 | Xi Ren | 19 | F | 3 | NULL |
| 8 | Lin Daiyu | 17 | F | 7 | NULL |
| 9 | Ren Yingying | 20 |F | 6 | NULL |
| 10 | Yue Lingshan | 19 |F | 3 | NULL |
| 11 | Yuan Chengzhi | 23 | M | 6 | NULL |
| 12 | Wen Qingqing | 19 |F | 1 | NULL |
| 13 | Tian Boguang | 33 |M | 2 | NULL |
| 14 | Lu Wushuang | 17| F | 3 | NULL |
| 15 | Duan Yu | 19 | M | 4 | NULL |
| 16 | Xu Zhu | 21 | M | 1 | NULL |
| 17 | Lin Chong | 25 | M | 4 | NULL |
| 18 | Hua Rong | 23| M | 7 | NULL |
| 19 | Xue Baochai | 18| F | 6 | NULL |
| 20 | Diao Chan | 19 | F | 7 | NULL |
| 21 | Huang Yueying | 22 | F | 6 | NULL |
| 22 | Xiao Qiao | 20 | F | 1 | NULL |
| 23 | Ma Chao | 23 | M | 4 | NULL |
| 24 | Xu Xian | 27 | M | NULL | NULL |
| 25 | Sun Dasheng | 100 | M | NULL | NULL |
+-------+---------------+-----+--------+---------+-----------+
25 rows in set(0.01 sec)
修改的部分未导入
mysql> quit
Bye
四、利用mysqlbinlog做增量备份还原
1、为完全备份后所作的修改做增量备份:--start-position=106
mysql> usehellodb;
Reading tableinformation for completion of table and column names
You can turn offthis feature to get a quicker startup with -A
Database changed
mysql>
#插入数据,有意做修改,演示增量备份
mysql>INSERT INTO students (Name,Age,Gender,ClassID,TeacherID) VALUES ('CaoCao',15,'M',3,7);
Query OK, 1 rowaffected (0.01 sec)
mysql> SELECT* FROM students;
+-------+---------------+-----+--------+---------+-----------+
| StuID |Name | Age | Gender | ClassID |TeacherID |
+-------+---------------+-----+--------+---------+-----------+
| 1 | Shi Zhongyu | 22| M | 2| 3 |
| 2 | Shi Potian | 22| M | 1 | 7 |
| 3 | Xie Yanke | 53 | M | 2 | 16 |
| 4 | Ding Dian | 32 | M | 4 | 4 |
| 5 | Yu Yutong | 26 | M | 3 | 1 |
| 6 | Shi Qing | 46 | M | 5 | NULL |
| 7 | Xi Ren | 19 | F | 3 | NULL |
| 8 | Lin Daiyu | 17 | F | 7 | NULL |
| 9 | Ren Yingying | 20 |F | 6 | NULL |
| 10 | Yue Lingshan | 19 |F | 3 | NULL |
| 11 | Yuan Chengzhi | 23 | M | 6 | NULL |
| 12 | Wen Qingqing | 19 |F | 1 | NULL |
| 13 |Tian Boguang | 33 | M | 2 | NULL |
| 14 | Lu Wushuang | 17| F | 3 | NULL |
| 15 | Duan Yu | 19 | M | 4 | NULL |
| 16 | Xu Zhu | 21 | M | 1 | NULL |
| 17 | Lin Chong | 25 | M | 4 | NULL |
| 18 | Hua Rong | 23 | M | 7 | NULL |
| 19 | Xue Baochai | 18| F | 6 | NULL |
| 20 | Diao Chan | 19 | F | 7 | NULL |
| 21 | Huang Yueying | 22 | F | 6 | NULL |
| 22 | Xiao Qiao | 20 | F | 1 | NULL |
| 23 | Ma Chao | 23 | M | 4 | NULL |
| 24 | Xu Xian | 27 | M | NULL | NULL |
| 25 | Sun Dasheng | 100 | M | NULL | NULL |
| 26 | Cao Cao | 15 | M | 3 | 7 |
+-------+---------------+-----+--------+---------+-----------+
26 rows in set(0.00 sec)
mysql> DELETEFROM students WHERE StuID=3;
Query OK, 1 rowaffected (0.01 sec)
mysql> QUIT
Bye
#没有输出重定向则默认输出到标准输出
[root@www ~]#mysqlbinlog --start-position=106 /var/lib/mysql/mysql-bin.000001
/*!40019 SET@@session.max_insert_delayed_threads=0*/;
/*!50003 SET@OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
# at 4
#171123 0:22:11 server id 1 end_log_pos 106 Start: binlog v 4, server v 5.1.73-logcreated 171123 0:22:11 at startup
# Warning: thisbinlog is either in use or was not closed properly.
ROLLBACK/*!*/;
BINLOG '
......
[root@www ~]#mysqlbinlog --start-position=106 /var/lib/mysql/mysql-bin.000001 > incre.sql
利用二进制日志记录还原修改后的记录,做增量备份
结合二进制日志记录做时间点还原
[root@www ~]# ls
apr-1.5.2 incre.sql
[root@www ~]#scp incre.sql 192.168.88.130:/root
[email protected]'spassword:
incre.sql 100% 54KB 523.6KB/s 00:00
2、还原增量备份
[root@test ~]#ls
all.sql incre.sql
[root@test ~]#mysql < incre.sql
[root@test ~]#mysql
mysql> usehellodb
Reading tableinformation for completion of table and column names
You can turn offthis feature to get a quicker startup with -A
Database changed
mysql> select* from students;
+-------+---------------+-----+--------+---------+-----------+
| StuID | Name | Age | Gender | ClassID | TeacherID|
+-------+---------------+-----+--------+---------+-----------+
| 1 | Shi Zhongyu | 22| M | 2 | 3 |
| 2 | Shi Potian | 22| M | 1 | 7 |
| 4 | Ding Dian | 32 | M | 4 | 4 |
| 5 | Yu Yutong | 26 | M | 3 | 1 |
| 6 | Shi Qing | 46 | M | 5 | NULL |
| 7 | Xi Ren | 19 | F | 3 | NULL |
| 8 | Lin Daiyu | 17 |F | 7 | NULL |
| 9 | Ren Yingying | 20 |F | 6 | NULL |
| 10 | Yue Lingshan | 19 |F | 3 | NULL |
| 11 | Yuan Chengzhi | 23 | M | 6 | NULL |
| 12 | Wen Qingqing | 19 |F | 1 | NULL |
| 13 | Tian Boguang | 33 |M | 2 | NULL |
| 14 | Lu Wushuang | 17| F | 3 | NULL |
| 15 | Duan Yu | 19 | M | 4 | NULL |
| 16 | Xu Zhu | 21 | M | 1 | NULL |
| 17 | Lin Chong | 25 | M | 4 | NULL |
| 18 | Hua Rong | 23 | M | 7 | NULL |
| 19 | Xue Baochai | 18| F | 6 | NULL |
| 20 | Diao Chan | 19 | F | 7 | NULL |
| 21 | Huang Yueying | 22 | F | 6 | NULL |
| 22 | Xiao Qiao | 20 | F | 1 | NULL |
| 23 | Ma Chao | 23 | M | 4 | NULL |
| 24 |Xu Xian | 27 | M | NULL | NULL |
| 25 | Sun Dasheng | 100 | M | NULL | NULL |
| 26 | Cao Cao | 15 | M | 3 | 7 |
+-------+---------------+-----+--------+---------+-----------+
25 rows in set(0.00 sec)