測試庫:mysqldump_test
命令:mysqldump -u root -p mysqldump_test > /user/admin/desktop/mysqldump_test.sql
準備工作:
1、建立乙個mysqldump_test的資料庫
create database `mysqldump_test` /*!40100 default character set utf8 */
2、建立乙個簡單的person表
create table `person` (
`id` int(11) not null auto_increment,
`name` varchar(32) default null,
`age` int(11) default null,
primary key (`id`)
) engine=innodb auto_increment=5 default charset=utf8;
3、隨便插入幾條資料
4、開啟general日誌
如果:show variables like 『%general_log%』;展示出來的general_log為off,設定乙個全域性開啟general日誌:set @@global.general_log = on;
日誌通過general_log_file對應的檔案進行檢視。
5、通過執行mysqldump -u root -p mysqldump_test > /user/admin/desktop/mysqldump_test.sql得到下面的日誌
完整日誌
171210 10:08:12
8 connect root@localhost on
8 query /*!40100 set @@sql_mode='' */
8 query /*!40103 set time_zone='+00:00' */
8 query show variables like 'gtid\_mode'
8 query select logfile_group_name, file_name, total_extents, initial_size, engine, extra from information_schema.files where file_type = 'undo log' and file_name is not null and logfile_group_name in (select distinct logfile_group_name from information_schema.files where file_type = 'datafile' and tablespace_name in (select distinct tablespace_name from information_schema.partitions where table_schema in ('mysqldump_test'))) group by logfile_group_name, file_name, engine order by logfile_group_name
8 query select distinct tablespace_name, file_name, logfile_group_name, extent_size, initial_size, engine from information_schema.files where file_type = 'datafile' and tablespace_name in (select distinct tablespace_name from information_schema.partitions where table_schema in ('mysqldump_test')) order by tablespace_name, logfile_group_name
8 query show variables like 'ndbinfo\_version'
8 init db mysqldump_test
8 query show tables
8 query lock tables `person` read /*!32311 local */
8 query show table status like 'person'
8 query set sql_quote_show_create=1
8 query set session character_set_results = 'binary'
8 query show create table `person`
8 query set session character_set_results = 'utf8'
8 query show fields from `person`
8 query select /*!40001 sql_no_cache */ * from `person`
8 query set session character_set_results = 'binary'
8 query use `mysqldump_test`
8 query select @@collation_database
8 query show triggers like 'person'
8 query set session character_set_results = 'utf8'
8 query unlock tables
8 quit
6、分析過程
(1)mysqldump通過輸入密碼鏈結資料庫
(2)檢視是否開啟gtid
(3)通過庫表information_schema.partitions檢視庫表分割槽情況
(4)進入需要進行備份的庫mysqldump_test
(5)檢視所有的表,並開始遍歷每乙個表
(6)對遍歷的每乙個表(如person),鎖當前表的讀表
(7)匯出person表的建立語句
(8)查出所有的person表資料,當前資料不從快取拿,也不放入快取
(9)檢視person表的觸發器(觸發器不在建表語句中)
(10)釋放表的讀鎖,完成當前表的遍歷,繼續下一張表,如果沒有下一張表,則完成mysqldump工作
人活著是為了體驗你從未體驗過的美好。 coding的意義在於使用那些沒有使用過的技術。
mysql dump備份 mysqldump備份
備份工具 1.mysqldump 資料量很大時不推薦使用 myisam 鎖表 innodb 行鎖 mysqldump help less 檢視mysql所有的語法 mysqldump uroot p wang usr back upsql wang.sql 整個庫備份 mysqldump uroot...
原理分析 煙氣分析儀工作原理
煙氣分析儀的工作原理常用兩種,一種是電化學工作原理,另一種是紅外工作原理。目前市場上的可攜式煙氣分析儀通常是這兩種原理相結合,電化學煙氣分析儀一般有德國菲索 德國mru德國德圖,國產的有天虹嶗應等,紅外煙氣分析儀廠家一般有德國mru,德國西門子等。以下是這兩種煙氣分析儀的工作原理介紹 電化學氣體感測...
fork原理分析
note4 首先必須有一點要清楚,函式的返回值是儲存在暫存器eax中的。其次,當fork返回時,新程序會返回0是因為在初始化任務結構時,將eax設定為0 在fork中,把子程序加入到可執行的佇列中,由程序排程程式在適當的時機排程執行。也就是從此時開始,當前程序 為兩個併發的程序。無論哪個程序被排程執...