研究mysqldump對我的資料庫做了哪些操作

2021-09-25 08:58:06 字數 2666 閱讀 3922

/usr/local/mysql55/bin/mysqldump -uroot  -s /data/mysqldata/3306/mysql.sock  --single-transaction --default-character-set=gbk  test t10>/usr/tmp/testzsd.sql

--single-transaction               

--default-character-set=gbk

test t10

從官方文件看,上面的選項操作分別是:開啟了事務,保證資料一致性,設定了預設字符集,選擇了test資料庫的t10表,但我卻想驗證上面的操作,是否對我的資料庫做了如上操作:

方法:開啟general log,觀察mysqldump之後的general log日誌。

mysql> show variables like '%log%';

mysql> set global general_log=on;

檢視相應日誌:

120713 15:41:53    20 connect   root@localhost on 

20 query     /*!40100 set @@sql_mode='' */

20 query     /*!40103 set time_zone='+00:00' */

20 query    

set session transaction isolation level repeatable read(這裡的級別是repeatable read)

20 query    

start transaction

20 query     unlock tables

20 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='test' and table_name in ('t10'))) group by logfile_group_name, file_name, engine order by logfile_group_name

120713 15:41:54    20 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='test' and table_name in ('t10')) order by tablespace_name, logfile_group_name

20 init db   test

20 query     show tables like 't10'

20 query     show table status like 't10'

20 query     set option sql_quote_show_create=1

20 query     set session character_set_results = 'binary'

20 query     show create table `t10`

20 query    

set session character_set_results = 'gbk'

20 query     show fields from `t10`

20 query    

select /*!40001 sql_no_cache */ * from `t10`

120713 15:42:02    20 query     set session character_set_results = 'binary'

20 query     use `test`

20 query     select @@collation_database

20 query     show triggers like 't10'

20 query     set session character_set_results = 'gbk'

20 quit

從上面的日誌可以分析,給與了重複讀的事務級別,開啟了事務之後,在取讀需要dump的資料select /*!40001 sql_no_cache */ * from `t10`。這裡是保證資料唯一性的根據和本質。由於重複讀的事務級別上面使用了mvcc,保證了資料一致性快照,也不會出現幻讀。

我對科學研究的感覺

在研究院呆了接近九個月,無論多少也算接觸了一些真正算是科研的東西,滿足了自己的願望。現在應該可以有資格總結一下自己對科研認識。在這樣乙個地方呆了九個月,應該可以總結一下自己體驗,對自己的追求的問題做乙個回答了。頂級的科研在做什麼?我認為是積累,創新到極致,實驗和理論驗證。任何乙個領域,要想成為專家,...

對redux saga的研究

中介軟體用過redux thunk,也用過redux promise middleware,原理都很簡單。thunk就是簡單的action作為函式,在action進行非同步操作,發出新的action。而promise只是在action中的payload作為乙個promise,中介軟體內部進行處理之後...

對postman的研究

1.postman可用作macos,windows和linux作業系統的本機應用程式。2.最常用的方法是get,post,put和delete。方法的名稱是不言自明的。例如,get使您可以從伺服器檢索資料。post使您可以將資料新增到伺服器中的現有檔案或資源。put允許您替換伺服器中的現有檔案或資源...