Preface
 
    In my previous two blogs,we have known about the tool of backing up MySQL db.I'm gonna use another tool named "MySQL Data Dumper" to do some test,here we go.
 
Introduce
 
    There's a third-party tool called mydumper which is similar with MySQL official backup tool mysqldump and identically backs up logically.The latest version of  mydumper is 0.9.3,Here's the website link:https://launchpad.net/mydumper/+milestone/0.9.3
 
 ###Download & Install mydumper.###
[root@zlm1 :: ~]
#wget https://launchpad.net/mydumper/0.9/0.9.1/+download/mydumper-0.9.1.tar.gz
---- ::-- https://launchpad.net/mydumper/0.9/0.9.1/+download/mydumper-0.9.1.tar.gz
Resolving launchpad.net (launchpad.net)... 91.189.89.223, 91.189.89.222
Connecting to launchpad.net (launchpad.net)|91.189.89.223|:... connected.
HTTP request sent, awaiting response... See Other
Location: https://launchpadlibrarian.net/225370879/mydumper-0.9.1.tar.gz [following]
---- ::-- https://launchpadlibrarian.net/225370879/mydumper-0.9.1.tar.gz
Resolving launchpadlibrarian.net (launchpadlibrarian.net)... 91.189.89.229, 91.189.89.228
Connecting to launchpadlibrarian.net (launchpadlibrarian.net)|91.189.89.229|:... connected.
HTTP request sent, awaiting response... OK
Length: (43K) [application/x-tar]
Saving to: ‘mydumper-0.9..tar.gz’ %[===========================================================================================================>] , .6KB/s in .6s -- :: (67.6 KB/s) - ‘mydumper-0.9..tar.gz’ saved [/] [root@zlm1 :: ~]
#ls -l
total
-rw-------. root root Jul anaconda-ks.cfg
-rw-r--r-- root root Nov mydumper-0.9..tar.gz
drwxrwxrwx root root Jun : mysqlbinlog_flashback-master
-rwxr-xr-x root root Jun : mysqld.sh
-rwxr-xr-x root root Jun : mysql.sh
-rw-r--r-- root root Jul percona-xtrabackup--2.4.-.el7.x86_64.rpm
drwxrwxrwx root root Jun : pip-10.0.
-rwxr-xr-x root root Jun : pip-10.0..tar
drwxr-xr-x root root Jun : PyMySQL-0.8.
-rwxr-xr-x root root Jun : PyMySQL-0.8..tar
drwxrwxr-x root root Jun : Python-2.6.
-rwxr-xr-x root root Jun : Python-2.6..tar
-rw-r--r-- root root Jun : recover.sh
-rw-r--r-- root root May : rename_tb.sql
drwxrwxrwx root root Jun : setuptools-39.2. [root@zlm1 :: ~]
#gzip -d mydumper-0.9..tar.gz [root@zlm1 :: ~]
#tar -xf mydumper-0.9..tar [root@zlm1 :: ~]
#cd mydumper-0.9. [root@zlm1 :: ~/mydumper-0.9.]
#ls -l
total
-rw-r--r-- root root Nov binlog.c
-rw-r--r-- root root Nov binlog.h
drwxr-xr-x root root Jun : cmake
-rw-r--r-- root root Nov CMakeLists.txt
-rw-r--r-- root root Nov common.h
-rw-r--r-- root root Nov config.h.in
drwxr-xr-x root root Jun : docs
-rw-r--r-- root root Nov g_unix_signal.c
-rw-r--r-- root root Nov g_unix_signal.h
-rw-r--r-- root root Nov mydumper.c
-rw-r--r-- root root Nov mydumper.h
-rw-r--r-- root root Nov myloader.c
-rw-r--r-- root root Nov myloader.h
-rw-r--r-- root root Nov README
-rw-r--r-- root root Nov server_detect.c
-rw-r--r-- root root Nov server_detect.h [root@zlm1 :: ~/mydumper-0.9.]
#cmake .
-bash: cmake: command not found -- There's not cmake package in my system,install cmake first. [root@zlm1 :: ~/mydumper-0.9.]
#yum install cmake
-- Omitted. [root@zlm1 :: ~/mydumper-0.9.]
#cmake .
-- The C compiler identification is GNU 4.8.
-- The CXX compiler identification is GNU 4.8.
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Using mysql-config: /usr/local/mysql/bin/mysql_config
-- Found MySQL: /usr/local/mysql/include, /usr/local/mysql/lib/libmysqlclient.so;/usr/lib64/libpthread.so;/usr/lib64/libm.so;/usr/lib64/librt.so;/usr/lib64/libdl.so
-- Found ZLIB: /usr/lib64/libz.so (found version "1.2.7")
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.27.1")
-- checking for one of the modules 'glib-2.0'
CMake Error at /usr/share/cmake/Modules/FindPkgConfig.cmake: (message):
None of the required 'glib-2.0' found
Call Stack (most recent call first):
cmake/modules/FindGLIB2.cmake: (pkg_search_module)
CMakeLists.txt: (find_package) -- checking for one of the modules 'gthread-2.0'
CMake Error at /usr/share/cmake/Modules/FindPkgConfig.cmake: (message):
None of the required 'gthread-2.0' found
Call Stack (most recent call first):
cmake/modules/FindGLIB2.cmake: (pkg_search_module)
CMakeLists.txt: (find_package) -- checking for module 'libpcre'
-- found libpcre, version 8.32
-- Found PCRE: /usr/include CMake Warning at docs/CMakeLists.txt: (message):
Unable to find Sphinx documentation generator -- ------------------------------------------------
-- MYSQL_CONFIG = /usr/local/mysql/bin/mysql_config
-- CMAKE_INSTALL_PREFIX = /usr/local
-- BUILD_DOCS = ON
-- WITH_BINLOG = OFF
-- RUN_CPPCHECK = OFF
-- Change a values with: cmake -D<Variable>=<Value>
-- ------------------------------------------------
--
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
GLIB2_LIBRARIES (ADVANCED)
linked by target "mydumper" in directory /root/mydumper-0.9.
linked by target "myloader" in directory /root/mydumper-0.9.
GTHREAD2_LIBRARIES (ADVANCED)
linked by target "mydumper" in directory /root/mydumper-0.9.
linked by target "myloader" in directory /root/mydumper-0.9. -- Configuring incomplete, errors occurred!
See also "/root/mydumper-0.9.1/CMakeFiles/CMakeOutput.log". [root@zlm1 :: ~/mydumper-0.9.]
#yum install glib2-devel -- Install glib2-devel package to solve the problem above.
--Omitted. [root@zlm1 :: ~/mydumper-0.9.]
#cmake .
-- Using mysql-config: /usr/local/mysql/bin/mysql_config
-- Found MySQL: /usr/local/mysql/include, /usr/local/mysql/lib/libmysqlclient.so;/usr/lib64/libpthread.so;/usr/lib64/libm.so;/usr/lib64/librt.so;/usr/lib64/libdl.so
-- checking for one of the modules 'glib-2.0'
-- checking for one of the modules 'gthread-2.0' CMake Warning at docs/CMakeLists.txt: (message):
Unable to find Sphinx documentation generator -- ------------------------------------------------
-- MYSQL_CONFIG = /usr/local/mysql/bin/mysql_config
-- CMAKE_INSTALL_PREFIX = /usr/local
-- BUILD_DOCS = ON
-- WITH_BINLOG = OFF
-- RUN_CPPCHECK = OFF
-- Change a values with: cmake -D<Variable>=<Value>
-- ------------------------------------------------
--
-- Configuring done
-- Generating done
-- Build files have been written to: /root/mydumper-0.9. [root@zlm1 :: ~/mydumper-0.9.]
#make
Scanning dependencies of target mydumper
[ %] Building C object CMakeFiles/mydumper.dir/mydumper.c.o
[ %] Building C object CMakeFiles/mydumper.dir/server_detect.c.o
[ %] Building C object CMakeFiles/mydumper.dir/g_unix_signal.c.o
Linking C executable mydumper
[ %] Built target mydumper
Scanning dependencies of target myloader
[%] Building C object CMakeFiles/myloader.dir/myloader.c.o
Linking C executable myloader
[%] Built target myloader [root@zlm1 :: ~/mydumper-0.9.]
#ls -l | grep my
-rwxr-xr-x root root Jun : mydumper -- This can be used to backup db.
-rw-r--r-- root root Nov mydumper.c
-rw-r--r-- root root Nov mydumper.h
-rwxr-xr-x root root Jun : myloader -- This can be used to restore db.
-rw-r--r-- root root Nov myloader.c
-rw-r--r-- root root Nov myloader.hss [root@zlm1 :: ~/mydumper-0.9.]
#mydumper --help
-bash: mydumper: command not found ###Copy
[root@zlm1 :: ~/mydumper-0.9.]
#cp mydumper /usr/bin [root@zlm1 :: ~/mydumper-0.9.]
#cp myloader /usr/bin [root@zlm1 :: ~/mydumper-0.9.]
#mydumper --help -- There's not option to dump binlogs in new version,you cannot find parameter "-b" anymore.
Usage:
mydumper [OPTION?] multi-threaded MySQL dumping Help Options:
-?, --help Show help options Application Options:
-B, --database Database to dump
-T, --tables-list Comma delimited table list to dump (does not exclude regex option)
-o, --outputdir Directory to output files to
-s, --statement-size Attempted size of INSERT statement in bytes, default
-r, --rows Try to split tables into chunks of this many rows. This option turns off --chunk-filesize
-F, --chunk-filesize Split tables into chunks of this output file size. This value is in MB
-c, --compress Compress output files
-e, --build-empty-files Build dump files even if no data available from table
-x, --regex Regular expression for 'db.table' matching
-i, --ignore-engines Comma delimited list of storage engines to ignore
-m, --no-schemas Do not dump table schemas with the data
-d, --no-data Do not dump table data
-G, --triggers Dump triggers
-E, --events Dump events
-R, --routines Dump stored procedures and functions
-k, --no-locks Do not execute the temporary shared read lock. WARNING: This will cause inconsistent backups
--less-locking Minimize locking time on InnoDB tables.
-l, --long-query-guard Set long query timer in seconds, default
-K, --kill-long-queries Kill long running queries (instead of aborting)
-D, --daemon Enable daemon mode
-I, --snapshot-interval Interval between each dump snapshot (in minutes), requires --daemon, default
-L, --logfile Log file name to use, by default stdout is used
--tz-utc SET TIME_ZONE='+00:00' at top of dump to allow dumping of TIMESTAMP data when a server has data in different time zones or data is being moved between servers with different time zones, defaults to on use --skip-tz-utc to disable.
--skip-tz-utc
--use-savepoints Use savepoints to reduce metadata locking issues, needs SUPER privilege
--success-on- Not increment error count and Warning instead of Critical in case of table doesn't exist
--lock-all-tables Use LOCK TABLE for all, instead of FTWRL
-U, --updated-since Use Update_time to dump only tables updated in the last U days
--trx-consistency-only Transactional consistency only
-h, --host The host to connect to
-u, --user Username with privileges to run the dump
-p, --password User password
-P, --port TCP/IP port to connect to
-S, --socket UNIX domain socket file to use for connection
-t, --threads Number of threads to use, default
-C, --compress-protocol Use compression on the MySQL connection
-V, --version Show the program version and exit
-v, --verbose Verbosity of output, = silent, = errors, = warnings, = info, default ###create a big MyISAM table.###
root@localhost:mysql3306.sock [zlm]::>create table test_myisam(
-> id int primary key
-> ) engine=myisam;
Query OK, rows affected (0.00 sec) root@localhost:mysql3306.sock [zlm]::>delimiter $$
root@localhost:mysql3306.sock [zlm]::>create procedure pro_insert (count int)
-> begin
-> declare i int unsigned default ;
-> start transaction;
-> while i < count do
-> insert into test_myisam(id) values(i);
-> set i=i+;
-> end while;
-> commit;
-> end;
-> $$
Query OK, rows affected (0.00 sec) root@localhost:mysql3306.sock [zlm]::>delimiter ;
root@localhost:mysql3306.sock [zlm]::>call pro_insert();
Query OK, rows affected ( min 37.72 sec) root@localhost:mysql3306.sock [zlm]::>select count(*) from test_myisam;
+----------+
| count(*) |
+----------+
| |
+----------+
row in set (0.03 sec) root@localhost:mysql3306.sock [zlm]::>show tables;
+----------------+
| Tables_in_zlm |
+----------------+
| semi_sync_test |
| t1 |
| t2 |
| t3 |
| test |
| test_flashbk |
| test_myisam |
+----------------+
rows in set (0.06 sec) root@localhost:mysql3306.sock [zlm]::>show create table test;
+-------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+-------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| test | CREATE TABLE `test` (
`id` bigint() NOT NULL AUTO_INCREMENT,
`name` varchar() NOT NULL DEFAULT '',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT= DEFAULT CHARSET=utf8mb4 |
+-------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
row in set (0.00 sec) ###Generate a backup by threads.###
[root@zlm1 :: ~/mydumper-0.9.]
#mydumper -B zlm -T test,test_myisam -u root -p Passw0rd -h localhost -t -o /data/backup -- -t specify threads(default ) in all. [root@zlm1 :: ~/mydumper-0.9.] ###Check the output file.###
[root@zlm1 :: ~/mydumper-0.9.]
#ls -l /data/backup
total
drwxr-x--- root root Jun : --16_11--
-rw-r--r-- root root Jun : metadata -- It contains time,binlog file & position,GTID informations.
-rw-r--r-- root root Jun : zlm-schema-create.sql -- It contains database structure.
-rw-r--r-- root root Jun : zlm.test_myisam-schema.sql -- It contains table structure.
-rw-r--r-- root root Jun : zlm.test_myisam.sql -- It contains data of MyISAM table "test_myisam".
-rw-r--r-- root root Jun : zlm.test-schema.sql -- It contains table structure.
-rw-r--r-- root root Jun : zlm.test.sql -- It contains data of innodb table "test". ###Check the general log for detail of backup.###
[root@zlm1 :: /data/mysql/mysql3306/data]
#cat zlm1.log --17T16::.634569Z Connect root@localhost on zlm using Socket
--17T16::.634595Z Query SET SESSION wait_timeout =
--17T16::.634670Z Query SET SESSION net_write_timeout =
--17T16::.634819Z Query SHOW PROCESSLIST
--17T16::.634902Z Query FLUSH TABLES WITH READ LOCK -- Begin to generate FTWRL in order to have consistent backup.
--17T16::.634997Z Query START TRANSACTION /*!40108 WITH CONSISTENT SNAPSHOT */ -- create consistent snapshot.
--17T16::.635072Z Query /*!40101 SET NAMES binary*/
--17T16::.635125Z Query SHOW MASTER STATUS
--17T16::.635205Z Query SHOW SLAVE STATUS
--17T16::.636261Z Connect root@localhost on using Socket -- Create sub thread # in backing up.
--17T16::.636392Z Query SET SESSION wait_timeout =
--17T16::.636443Z Query SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ
--17T16::.636479Z Query START TRANSACTION /*!40108 WITH CONSISTENT SNAPSHOT */
--17T16::.636527Z Query /*!40103 SET TIME_ZONE='+00:00' */
--17T16::.636570Z Query /*!40101 SET NAMES binary*/
--17T16::.636913Z Connect root@localhost on using Socket -- Create sub thread # in backing up.
--17T16::.636962Z Query SET SESSION wait_timeout =
--17T16::.637005Z Query SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ
--17T16::.637039Z Query START TRANSACTION /*!40108 WITH CONSISTENT SNAPSHOT */
--17T16::.637084Z Query /*!40103 SET TIME_ZONE='+00:00' */
--17T16::.637123Z Query /*!40101 SET NAMES binary*/
--17T16::.637178Z Init DB zlm
--17T16::.637219Z Query SHOW TABLE STATUS
--17T16::.772453Z Query SHOW CREATE DATABASE `zlm`
--17T16::.772650Z Query SELECT /*!40001 SQL_NO_CACHE */ * FROM `zlm`.`test_myisam`
--17T16::.772927Z Query SELECT /*!40001 SQL_NO_CACHE */ * FROM `zlm`.`test`
--17T16::.848929Z Query SHOW CREATE TABLE `zlm`.`test` -- Get the table structure of "test".
--17T16::.961590Z Query SHOW CREATE TABLE `zlm`.`test_myisam` -- Get the table structure of "test_myisam".
--17T16::.022712Z Query UNLOCK TABLES /* FTWRL */ -- Release table locks after get structure of tables.
--17T16::.022724Z Quit
--17T16::.022812Z Quit
--17T16::.024460Z Quit ###Generate a backup by threads.###
[root@zlm1 :: ~/mydumper-0.9.]
#mydumper -B zlm -T test,test_myisam -u root -p Passw0rd -h localhost -t -o /data/backup [root@zlm1 :: ~/mydumper-0.9.]
# ###Check the general log for detail of backup.###
[root@zlm1 :: /data/mysql/mysql3306/data]
#cat zlm1.log --17T17::.654622Z Connect root@localhost on zlm using Socket
--17T17::.654864Z Query SET SESSION wait_timeout =
--17T17::.654922Z Query SET SESSION net_write_timeout =
--17T17::.655009Z Query SHOW PROCESSLIST
--17T17::.655072Z Query FLUSH TABLES WITH READ LOCK
--17T17::.656485Z Query START TRANSACTION /*!40108 WITH CONSISTENT SNAPSHOT */
--17T17::.656577Z Query /*!40101 SET NAMES binary*/
--17T17::.656744Z Query SHOW MASTER STATUS
--17T17::.656832Z Query SHOW SLAVE STATUS
--17T17::.657303Z Connect root@localhost on using Socket -- Create sub thread # in backing up.
--17T17::.657367Z Query SET SESSION wait_timeout =
--17T17::.657416Z Query SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ
--17T17::.657453Z Query START TRANSACTION /*!40108 WITH CONSISTENT SNAPSHOT */
--17T17::.657503Z Query /*!40103 SET TIME_ZONE='+00:00' */
--17T17::.657547Z Query /*!40101 SET NAMES binary*/
--17T17::.658353Z Connect root@localhost on using Socket -- Create sub thread # in backing up.
--17T17::.658438Z Query SET SESSION wait_timeout =
--17T17::.658485Z Query SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ
--17T17::.658568Z Query START TRANSACTION /*!40108 WITH CONSISTENT SNAPSHOT */
--17T17::.658631Z Query /*!40103 SET TIME_ZONE='+00:00' */
--17T17::.658689Z Query /*!40101 SET NAMES binary*/
--17T17::.659442Z Connect root@localhost on using Socket -- Create sub thread # in backing up.
--17T17::.659541Z Query SET SESSION wait_timeout =
--17T17::.659580Z Query SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ
--17T17::.659581Z Query START TRANSACTION /*!40108 WITH CONSISTENT SNAPSHOT */
--17T17::.659581Z Query /*!40103 SET TIME_ZONE='+00:00' */
--17T17::.659614Z Query /*!40101 SET NAMES binary*/
--17T17::.659992Z Connect root@localhost on using Socket -- Create sub thread # in backing up.
--17T17::.660057Z Query SET SESSION wait_timeout =
--17T17::.660106Z Query SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ
--17T17::.660144Z Query START TRANSACTION /*!40108 WITH CONSISTENT SNAPSHOT */
--17T17::.660193Z Query /*!40103 SET TIME_ZONE='+00:00' */
--17T17::.660236Z Query /*!40101 SET NAMES binary*/
--17T17::.660801Z Init DB zlm
--17T17::.661053Z Query SHOW TABLE STATUS
--17T17::.662581Z Query SHOW CREATE DATABASE `zlm`
--17T17::.662906Z Query SELECT /*!40001 SQL_NO_CACHE */ * FROM `zlm`.`test_myisam`
--17T17::.669514Z Query SELECT /*!40001 SQL_NO_CACHE */ * FROM `zlm`.`test`
--17T17::.674024Z Query SHOW CREATE TABLE `zlm`.`test`
--17T17::.681205Z Query SHOW CREATE TABLE `zlm`.`test_myisam`
--17T17::.548006Z Query UNLOCK TABLES /* FTWRL */
--17T17::.548426Z Quit
--17T17::.548509Z Quit
--17T17::.548552Z Quit
--17T17::.548619Z Quit
--17T17::.549291Z Quit
Summary
  • mydump is a logical backup tool like mysqldump,but more efficient.
  • mydump support mutiple thread backup,which can short your backup time especially when backing up big tables.
  • When backing up operation begins there also a FTWRL to make a consistent backup.

MySQL备份恢复之mydumper的更多相关文章

  1. Mysql 备份恢复之 Mysqldump 工具

    目前正在学习中,看到mysqldump工具导出的数据都是文本形式的,如果是blob或text大对象类型导出的是什么格式的?这个需要后续研究.下面只先总结下简单的. 一.备份1.备份Mysql一个数据库 ...

  2. MySQL备份恢复之Xtrabackup

    Preface       Today,I'm gonna use the Xtrabackup tool to demonstrate the procedure of backing up MyS ...

  3. MySQL备份恢复之mysqldump

      Preface       The day before yesterday,there's a motif about the lock procedure when backing up My ...

  4. mysql备份工具 :mysqldump mydumper Xtrabackup 原理

    备份是数据安全的最后一道防线,对于任何数据丢失的场景,备份虽然不一定能恢复百分之百的数据(取决于备份周期),但至少能将损失降到最低.衡量备份恢复有两个重要的指标:恢复点目标(RPO)和恢复时间目标(R ...

  5. MySQL多线程备份工具:mydumper

    MySQL多线程备份工具:mydumper http://www.orczhou.com/index.php/2011/12/how-to-split-mysqldump-file/ Mydumper ...

  6. MySQL备份还原之一mydumper

    1)源码编译安装 1.下载 mydumper源码 2.解压 [mysql@localhost ~]$ tar -xvf mydumper-0.9.1.tar mydumper-0.9.1/CMakeL ...

  7. MySQL备份迁移之mydumper

    简介 mydumper 是一款开源的 MySQL 逻辑备份工具,主要由 C 语言编写.与 MySQL 自带的 mysqldump 类似,但是 mydumper 更快更高效. mydumper 的一些优 ...

  8. MySQL备份原理详解

    备份是数据安全的最后一道防线,对于任何数据丢失的场景,备份虽然不一定能恢复百分之百的数据(取决于备份周期),但至少能将损失降到最低.衡量备份恢复有两个重要的指标:恢复点目标(RPO)和恢复时间目标(R ...

  9. mysql 备份与还原

    http://dev.yesky.com/281/35291281.shtml 每一种逻辑错误发生的概率都极低,但是当多种可能性叠加的时候,小概率事件就 放大成很大的安全隐患,这时候备份的必要性就凸显 ...

随机推荐

  1. java几种常见的排序算法总结

    /*************几种常见的排序算法总结***************************/ package paixu; public class PaiXu { final int  ...

  2. PAT 1083 List Grades

    #include <cstdio> #include <cstdlib> using namespace std; class Stu { public: ]; ]; }; i ...

  3. 使用Anaconda管理环境

    Anaconda指的是一个开源的python发行版本,其包含了conda.Python等180多个科学包及其依赖项. Anaconda是一个开源的包.环境管理器,可以用于在同一个机器上安装不同版本的软 ...

  4. HTML表格相关元素

    <table> 标签定义 HTML 表格.简单的 HTML 表格由 table 元素以及一个或多个 tr.th 或 td 元素组成.tr 元素定义表格行,th 元素定义表头,td 元素定义 ...

  5. 在C#中生成GUID的方法

    var guid = Guid.NewGuid();Debug.WriteLine(guid.ToString());   //1f3c6041-c68f-4ab3-ae19-f66f541e3209 ...

  6. 关于i 标签盛放背景图像

    1.html部分 <div class="hover right"> <i class="log_change state_psd">& ...

  7. XMLHttpRequest.responseType

    "arraybuffer" "blob" "document" "json" "text"

  8. R语言计算相关矩阵然后将计算结果输出到CSV文件

    R语言计算出一个N个属性的相关矩阵(),然后再将相关矩阵输出到CSV文件. 读入的数据文件格式如下图所示: R程序采用如下语句: data<-read.csv("I:\\SB\land ...

  9. android的MVP模式

    MVP简介 相信大家对MVC都是比较熟悉了:M-Model-模型.V-View-视图.C-Controller-控制器,MVP作为MVC的演化版本,那么类似的MVP所对应的意义:M-Model-模型. ...

  10. mybooklist.cn 书单de故事六月十六日

    1.我的30年30本书 刘苏里书单北京万圣书园总经理,以经营人文社科类图书著称.生于1960年,1983年毕业于北京大学国际政治系,1986年毕业于中国政法大学研究生院.